3.6. MicroProfile OpenAPI 관리
3.6.1. MicroProfile OpenAPI 활성화 링크 복사링크가 클립보드에 복사되었습니다!
microprofile-openapi-undercloudrye 하위 시스템은 standalone-microprofile.xml 구성에 제공됩니다. 그러나 JBoss EAP XP는 기본적으로 standalone.xml 을 사용합니다. 이를 사용하려면 standalone.xml 에 하위 시스템을 포함해야 합니다.
또는 MicroProfile 하위 시스템 및 확장 기능을 사용하여 독립 실행형 구성 업데이트 절차에 따라 standalone.xml 구성 파일을 업데이트할 수 있습니다.
프로세스
JBoss EAP에서 MicroProfile OpenAPI smallrye 확장을 활성화합니다.
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()다음 관리 명령을 사용하여
microprofile-openapi-undercloudrye하위 시스템을 활성화합니다./subsystem=microprofile-openapi-smallrye:add()서버를 다시 로드합니다.
reload
microprofile-openapi-Neutronrye 하위 시스템이 활성화됩니다.
3.6.2. Accept HTTP 헤더를 사용하여 MicroProfile OpenAPI 문서 요청 링크 복사링크가 클립보드에 복사되었습니다!
Accept HTTP 헤더를 사용하여 배포에서 MicroProfile OpenAPI 문서를 JSON 형식으로 요청합니다.
기본적으로 OpenAPI 엔드포인트는 YAML 문서를 반환합니다.
사전 요구 사항
- 쿼리 중인 배포는 MicroProfile OpenAPI 문서를 반환하도록 구성됩니다.
프로세스
다음
curl명령을 실행하여 배포의/openapi엔드포인트를 쿼리합니다.$ curl -v -H'Accept: application/json' http://localhost:8080/openapi < HTTP/1.1 200 OK ... {"openapi": "3.0.1" ... }http://localhost:8080 를 배포의 URL 및 포트로 교체합니다.
Accept 헤더는
application/json문자열을 사용하여 JSON 문서를 반환함을 나타냅니다.
3.6.3. HTTP 매개변수를 사용하여 MicroProfile OpenAPI 문서 요청 링크 복사링크가 클립보드에 복사되었습니다!
HTTP 요청의 쿼리 매개변수를 사용하여 배포에서 MicroProfile OpenAPI 문서를 요청합니다.
기본적으로 OpenAPI 엔드포인트는 YAML 문서를 반환합니다.
사전 요구 사항
- 쿼리 중인 배포는 MicroProfile OpenAPI 문서를 반환하도록 구성됩니다.
프로세스
다음
curl명령을 실행하여 배포의/openapi엔드포인트를 쿼리합니다.$ curl -v http://localhost:8080/openapi?format=JSON < HTTP/1.1 200 OK ...http://localhost:8080 를 배포의 URL 및 포트로 교체합니다.
HTTP 매개변수
format=JSON은 JSON 문서가 반환됨을 나타냅니다.
3.6.4. 정적 OpenAPI 문서를 제공하도록 JBoss EAP 구성 링크 복사링크가 클립보드에 복사되었습니다!
호스트의 REST 서비스를 설명하는 정적 OpenAPI 문서를 제공하도록 JBoss EAP를 구성합니다.
JBoss EAP가 정적 OpenAPI 문서를 제공하도록 구성된 경우 정적 OpenAPI 문서는 Jakarta RESTful Web Services 및 MicroProfile OpenAPI 주석보다 먼저 처리됩니다.
프로덕션 환경에서 정적 문서를 제공할 때 주석 처리를 비활성화합니다. 주석 처리를 비활성화하면 클라이언트에 변경 불가능한 버전이 지정된 API 계약을 사용할 수 있습니다.
프로세스
애플리케이션 소스 트리에 디렉터리를 생성합니다.
$ mkdir APPLICATION_ROOT/src/main/webapp/META-INFAPPLICATION_ROOT 는 애플리케이션의
pom.xml구성 파일을 포함하는 디렉터리입니다.OpenAPI 엔드포인트를 쿼리하여 출력을 파일로 리디렉션합니다.
$ curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json기본적으로 끝점은 YAML 문서를 제공하며
format=JSON은 JSON 문서가 반환되도록 지정합니다.OpenAPI 문서 모델을 처리할 때 주석 스캔을 건너뛰도록 애플리케이션을 구성합니다.
$ echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties애플리케이션을 다시 빌드합니다.
$ mvn clean install다음 관리 CLI 명령을 사용하여 애플리케이션을 다시 배포합니다.
애플리케이션 배포를 취소합니다.
undeploy microprofile-openapi.war애플리케이션을 배포합니다.
deploy APPLICATION_ROOT/target/microprofile-openapi.war
JBoss EAP는 이제 OpenAPI 엔드포인트에서 정적 OpenAPI 문서를 제공합니다.
3.6.5. microprofile-openapi-undercloudrye 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
관리 CLI를 사용하여 JBoss EAP XP에서 microprofile-openapi-undercloudrye 하위 시스템을 비활성화할 수 있습니다.
프로세스
microprofile-openapi-Neutronrye하위 시스템을 비활성화합니다./subsystem=microprofile-openapi-smallrye:remove()