programing

Open 생성 방법기존 Spring REST API의 API 3.0 YAML 파일?

showcode 2023. 3. 6. 21:40
반응형

Open 생성 방법기존 Spring REST API의 API 3.0 YAML 파일?

Open을 생성하려는 기존 Spring REST API가 있습니다.Swagger 2.0 JSON/YAML이 아닌 API 3.0 YAML 파일?

현재 Spring Fox는 YAML 생성을 지원하지 않습니다.Swagger 2.0으로 JSON을 생성합니다(OPEN API 3.0 사양에 따름).

또한 https://github.com/openapi-tools/swagger-maven-plugin도 있지만 Spring Rest를 지원하지 않는 것 같습니다.

YAML 파일을 생성할 수 있는 Kongchen spring-maven-plugin을 사용해 보았습니다만, 다음과 같은 OPEN API 3.0이 아닌 Swagger 2.0의 정의를 사용하고 있습니다.

swagger: "2.0"
info:
  description: "Test rest project"
  version: "1.0"
  title: "Some desc"
  termsOfService: "http://swagger.io/terms/"
  contact:
    name: "Rest Support"
    url: "http://www.swagger.io/support"
    email: "support@swagger.io"
  license:
    name: "Apache 2.0"
    url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "example.com"
basePath: "/api/"

그래서 제 질문은 어떻게 하면 다음과 같은 OPEN API YAML 파일을 생성할 수 있을까요?

openapi: 3.0.0
info:
  description: Some desc
  version: "1.0"
  title: Test rest project
  termsOfService: http://swagger.io/terms/
  contact:
    name: Rest Support
    url: http://www.swagger.io/support
    email: support@swagger.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html

현재 사용하고 있습니다.swagger-maven-pluginSwagger 2.0 정의로 YAML 파일을 생성하고 이를 Open API 3.0 정의로 변환합니다.swagger2openapihttps://mermade.org.uk/openapi-converter 에서 참조해 주세요.

질문 1:
캔 스프링-메이븐-플러그io.swagger.v3.oas.annotationsYAML을 생성하시겠습니까?

질문 2:
봄 MVC 프로젝트에서 OPEN API 정의를 사용하여 YAML을 생성하는 가장 좋은 방법은 무엇입니까?

질문 3:
할 수 있다io.swagger.v3.oas봄 프로젝트와 함께 사용할 것인가 아니면 JAX-RS 프로젝트에만 사용할 것인가?

최근에 사용하고 있습니다.springdoc-openapi자바 라이브러리스프링 부트 프로젝트를 사용하여 API 문서 생성을 자동화하는 데 도움이 됩니다.

자동으로 전개됩니다.swagger-ui매뉴얼은 다음 공식 [swagger-ui jars]를 사용하여 HTML 형식으로 제공됩니다.

그러면 다음 위치에서 Swagger UI 페이지를 사용할 수 있습니다.http://server:port/context-path/swagger-ui.html및 오픈API 설명은 다음 URL에서 json 형식으로 제공됩니다.http://server:port/context-path/v3/api-docs

  • server: 서버명 또는 IP
  • port: 서버 포트
  • context-path:응용 프로그램의 컨텍스트 경로

매뉴얼은 다음 경로에서 yaml 형식으로도 구할 수 있습니다./v3/api-docs.yml프로젝트 의존관계 목록에 라이브러리 추가(추가 설정 불필요)

 <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-ui</artifactId>
      <version>1.2.3</version>
  </dependency>

오랫동안 도서관을 놓쳤거든요마지막으로, 저만의 발전기 https://github.com/jrcodeza/spring-openapi를 구현하기로 했습니다. 여러분도 확인해 보세요.반영을 기반으로 하며 javax 및 spring 주석을 지원합니다.또한 Jackson 주석을 기반으로 (판별자를 사용하여) 상속 모델을 생성합니다.또한 생성 프로세스를 변경하려는 경우(예: 자체 주석이 있고 스키마의 생성된 섹션을 조정해야 하는 경우) 자체 절편도 정의할 수 있습니다.런타임 모드 또는 메이븐 플러그인으로 사용할 수 있습니다.오픈도 있습니다.API3에서 Java 클라이언트 생성기로 모델을 생성합니다.또한 올바른 상속을 위해 Javax 주석과 Jackson 주석도 생성합니다.

언급URL : https://stackoverflow.com/questions/54921110/how-to-generate-openapi-3-0-yaml-file-from-existing-spring-rest-api

반응형