memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

1. 1. Dependency 적용

build.gradleswagger2 를 추가한다. (https://mvnrepository.com/artifact/io.springfox/springfox-swagger2/2.9.2 )

Swagger 2 Dependency

<java />
dependencies { ... // Swagger 2 compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' ... }

웹 UI 화면을 보려면, springfox-swagger-ui 를 추가해야 한다.

 

2. 2. Swagger2 Enable

@EnableSwagger2 어노테이션을 추가하여 기능 활성화를 한다.

@EnableSwagger2 어노테이션은 main 쪽에 추가해도 되지만, 아래에서 생성할 Swagger2Config.java 에 추가해도 된다.
<java />
... @EnableSwagger2 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ...

 

3. 3. Swagger2 Config 설정

Config 설정을 위한 설정 클래스를 생성한다.

패키지 경로는 개인 취향에 따라 알아서 지정한다. 본 글에서는 com.example.demo.config.Swagger2Config.java 로 지정했다.
<java />
@Configuration public class Swagger2Config { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo")) .paths(PathSelectors.any()) .build(); } }
  • .apis(): API 문서를 만들어줄 범위를 지정한다. 위 예제에서는 com.example.demo 하위 구조를 탐색하여 문서를 생성해준다.
  • .paths(): API 의 URL 경로를 지정할 수 있다. .paths(PathSelectors.ant("api/v1/**")) 와 같이 하면 http://localhost/api/v1/ 하위 경로를 가지는 API에 대해 문서를 생성해준다.

3.1. 옵션 설정

부가적으로 API 문서에 대한 내용을 수정하거나 추가하고 싶을때, 아래 코드와 같이 한다.

<java />
@EnableSwagger2 @Configuration public class Swagger2Config { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.ykgroup.dayco")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("제목 작성") .version("버전 작성") .description("설명 작성") .license("라이센스 작성") .licenseUrl("라이센스 URL 작성") .build(); } }

 

4. 4. 결과 확인

실행하여 제대로 API 문서가 생성되었는지 확인한다.

웹 화면이 생성이 안된다면, dependencyswagger-ui를 추가했는지 확인한다. (높은 확률로 추가안한 경우가 많음)

 

Maven 환경에서 Swagger 적용하기

2020/02/18 - [Spring Boot] - Spring Boot 에 Swagger2 (스웨거) 적용하기

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!