47.7. 추가 옵션

47.7.1. 개요

extraOptions 옵션은 일반적으로 더 간단한 옵션을 제공하여 복잡한 API 매개변수를 계산하거나 숨기는 데 사용됩니다. 예를 들어 API 메서드에는 URI에서 Cryostat의 일부로 더 쉽게 제공할 수 있는 Cryostat 옵션을 사용할 수 있습니다. 구성 요소는 부분을 추가 옵션으로 추가하고 내부적으로 Cryostat 매개 변수를 생성하여 이 작업을 수행할 수 있습니다. 이러한 추가 옵션의 구현을 완료하려면 EndpointConsumer 및/또는 EndpointProducer 클래스에서 interceptProperties 메서드를 재정의해야 합니다( 46.4절. “프로그래밍 모델”참조).

47.7.2. 구문

extraOptions 요소는 다음과 같이 하나 이상의 extraOption 하위 요소로 정의할 수 있습니다.

<extraOptions>
  <extraOption>
    <type>TypeName</type>
    <name>OptionName</name>
  </extraOption>
</extraOptions>

여기서 TypeName 은 추가 옵션의 정규화된 형식 이름이며 OptionName 은 추가 URI 옵션의 이름입니다.

47.7.3. 범위

다음 추출에 표시된 대로 extraOptions 요소는 선택적으로 apis 요소의 자식으로 및/또는 api 요소의 자식으로 표시될 수 있습니다.

<configuration>
  <apis>
    <api>
      <apiName>...</apiName>
      ...
      <extraOptions>...</extraOptions>
    </api>
    <extraOptions>...</extraOptions>
    ...
  </apis>
</configuration>

다음 범위에서 extraOptions 요소를 정의할 수 있습니다.

  • api 요소의 자식으로 추가Optionsapi 요소에서 지정한 API 클래스에만 적용됩니다.
  • apis 요소의 자식으로 추가Options 는 기본적으로 모든 API 클래스에 적용되지만 api 수준에서 재정의할 수 있습니다.

47.7.4. 하위 요소

extraOptions 요소는 다음 하위 요소로 정의할 수 있습니다.

type
추가 옵션의 정규화된 형식 이름을 지정합니다.
name
엔드포인트 URI에 표시되는 옵션 이름을 지정합니다.

47.7.5. 예제

다음 예제에서는 java.util.list<String> 유형의 추가 URI 옵션 customOption 을 정의합니다.

<extraOptions>
  <extraOption>
    <type>java.util.List<String></type>
    <name>customOption</name>
  </extraOption>
</extraOptions>