0

스프링 부트를 사용하여 swagger 2 구현. 종속성 사용 -스프링 부트 배치 전략

<dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger2</artifactId> 
      <version>2.4.0</version> 
     </dependency> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger-ui</artifactId> 
      <version>2.4.0</version> 
     </dependency> 

잘 작동합니다. 그러나 프로덕션에서 그런 식으로 swagger를 구현하려는 경우 swagger가 배포되지 않습니다. 또한 다른 호스트 컴퓨터에서 응용 프로그램 빌드와 다르게 빌드를 호스팅 할 수 있습니까?

답변

1

이렇게하는 데는 두 가지 방법이 있습니다.

  1. '자신감'등 받는다는 프로필 intrudue이 받는다는 프로파일에 관련된 springfox-swagger-ui depdencenty 추가함으로써 메이븐 프로파일

    . 어쩌면 당신은 자바 코드에서 swagger 어노테이션을 사용해야하므로 springfox-swagger2 종속성을 제거 할 수는 없습니다.

  2. 봄 프로파일은 예를 들어 당신이 응용 프로그램에 spring.profiles.active=swagger를 추가 할 때 단지 swagger2 통합을 위해 @Profile("swagger") annoation을 추가 할 수 있습니다, 표준 스프링 부팅 swagger2의 설정 클래스의 경우

    (옵션 1보다 더 나은한다) 달리는. 다른 호스트 시스템에 대한

, 나는 그것에 대해 아무 생각이 없다,하지만 내 이해로, 자신감은 모든 스프링 부팅 엔드 포인트 그래서 당신은 그들을 내버려 두지 수 있다고 생각 선택합니다. 그러나 library이 있으며 스프링 부트 액추에이터에 springfox-swagger2를 게시 할 수있는 방법을 제공합니다. 따라서 management.port=8181 속성을 application.properties에 추가하면 spring-boot-actuator가 다른 TCP 포트에서 실행됩니다.

+0

답장을 보내 주셔서 감사합니다.하지만 프로필을 사용하면 주석이있는 클래스 @ EnableSwagger2가 여전히로드되고 스와 저는 기본적으로 활성화됩니다. – Rameez

+0

@Rameez 스프링'@ Profile'을 사용하여 해당 프로필이 활성화되어 있지 않으면 bean은 처리되지 않습니다. –

+0

감사합니다. – Rameez

관련 문제