2.2. OpenAPI 서비스 끝점 구성
OpenShift Serverless Logic은 kogito.sw.operationIdStrategy
속성을 사용하여 OpenAPI 문서에 정의된 서비스를 호출하는 REST 클라이언트를 생성합니다. 이 속성은 REST 클라이언트 구성에 대해 구성 키를 파생하는 방법을 결정합니다.
kogito.sw.operationIdStrategy
속성은 FILE_NAME
,FULL_URI
,FUNCTION_NAME
, SPEC_TITLE
값을 지원합니다.
FILE_NAME
OpenShift Serverless Logic은 OpenAPI 문서 파일 이름을 사용하여 구성 키를 생성합니다. 키는 파일 이름을 기반으로 하며, 여기서 특수 문자가 밑줄로 교체됩니다.
설정 예:
quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ 1
- 1
- OpenAPI 파일 경로는
src/main/resources/openapi/stock-portfolio-svc.yaml
입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 score_portfolio_svc_yaml
입니다.
FULL_URI
OpenShift Serverless Logic은 OpenAPI 문서의 전체 URI 경로를 구성 키로 사용합니다. 전체 URI는 키를 형성하도록 조정됩니다.
Serverless Workflow의 예
{ "id": "myworkflow", "functions": [ { "name": "myfunction", "operation": "https://my.remote.host/apicatalog/apis/123/document" } ] ... }
설정 예:
quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/ 1
- 1
- URI 경로는
https://my.remote.host/apicatalog/apis/123/document
입니다. REST 클라이언트의 URL을 구성하는 생성된 키는apicatalog_apis_123_document
입니다.
FUNCTION_NAME
OpenShift Serverless Logic은 OpenAPI 문서를 참조하는 워크플로우 ID와 함수 이름을 결합하여 구성 키를 생성합니다.
Serverless Workflow의 예
{ "id": "myworkflow", "functions": [ { "name": "myfunction", "operation": "https://my.remote.host/apicatalog/apis/123/document" } ] ... }
설정 예:
quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/ 1
- 1
- 워크플로우 ID는
myworkflow
입니다. 함수 이름은myfunction
입니다. REST 클라이언트의 URL을 구성하는 생성된 키는myworkflow_myfunction
입니다.
SPEC_TITLE
OpenShift Serverless Logic은 OpenAPI 문서의
info.title
값을 사용하여 구성 키를 생성합니다. 제목이 키를 형성하도록 조정됩니다.OpenAPI 문서의 예
openapi: 3.0.3 info: title: stock-service API version: 2.0.0-SNAPSHOT paths: /stock-price/{symbol}: ...
설정 예:
quarkus.rest-client.stock-service_API.url=http://localhost:8282/ 1
- 1
- OpenAPI 문서 제목은
주식 서비스 API
입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 price-service_API
입니다.
2.2.1. URI 별칭 사용
kogito.sw.operationIdStrategy
속성 대신 workflow-uri-definitions
사용자 지정 확장을 사용하여 URI에 별칭을 할당할 수 있습니다. 이 별칭은 구성 프로세스를 단순화하고 REST 클라이언트 설정 및 함수 정의에서 구성 키로 사용할 수 있습니다.
workflow-uri-definitions
확장을 사용하면 URI를 워크플로우 전체에서 및 구성 파일에서 참조할 수 있는 별칭에 매핑할 수 있습니다. 이 접근 방식은 중앙 집중식으로 URI 및 해당 구성을 관리하는 방법을 제공합니다.
사전 요구 사항
- OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성할 수 있는 적절한 역할 및 권한으로 OpenShift Serverless Logic 프로젝트에 액세스할 수 있습니다.
- OpenAPI 사양 파일에 액세스할 수 있습니다.
프로세스
workflow-uri-definitions
확장을 워크플로에 추가합니다. 이 확장 내에서 URI에 대한 별칭을 생성합니다.워크플로우 예
{ "extensions": [ { "extensionid": "workflow-uri-definitions", 1 "definitions": { "remoteCatalog": "https://my.remote.host/apicatalog/apis/123/document" 2 } } ], "functions": [ 3 { "name": "operation1", "operation": "remoteCatalog#operation1" }, { "name": "operation2", "operation": "remoteCatalog#operation2" } ] }
- 1
- 확장 ID를
workflow-uri-definitions
로 설정합니다. - 2
remoteCatalog
별칭을 URI에 매핑하여 별칭 정의를 설정합니다(예:https://my.remote.host/apicatalog/apis/123/document
URI).- 3
- 작업 식별자와 함께
remoteCatalog
별칭을 사용하여 함수 작업을 설정합니다(예:operation1
및operation2
작업 식별자).application.properties
파일에서 워크플로에 정의된 별칭을 사용하여 REST 클라이언트를 구성합니다.속성 예
quarkus.rest-client.remoteCatalog.url=http://localhost:8282/
이전 예에서 구성 키는
quarkus.rest-client.remoteCatalog.url
로 설정되고 URL은remoteCatalog
별칭을 참조하여 REST 클라이언트가 사용하는http://localhost:8282/
로 설정됩니다.워크플로우에서는 URI에서 작동하는 함수를 정의할 때 별칭을 사용합니다.
예제 워크플로우(종료됨):
{ "functions": [ { "name": "operation1", "operation": "remoteCatalog#operation1" }, { "name": "operation2", "operation": "remoteCatalog#operation2" } ] }