API 문서 웹에 만들기

6215 단어 SwaggerJavaAPIAPI

실무에서 API를 만들다가 엑셀로 API문서를 정리하는게 귀찮았으며 로컬에서 바로 확인 할 수 있게 만들기 위해 Swagger 를 사용해 보았다.
request를 주면 response 받는 형식을 알아보기 쉽게 만들어져 있어서 만족하며 사용했다.

xml 의존성 추가

<!-- Swagger -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.6.1</version>
</dependency>

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

gradle 의존성 추가

compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0'

maven, gradle 상황에 맞는 의존성을 추가해준다.

그다음 swagger를 등록해야 하는데 패키지 어딘가에 Config java파일을 만들어준다.
나는 config라는 패키지 안에 SwaggerConfig.java 를 생성하였다.

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("컨트롤러 패키지"))
                .paths(PathSelectors.any())
                .build();
    }
}

basePackage("") 찾을 패키지를 탐색
PathSelectors.ant("url")) 그중 설정한 url인 URL들만 필터링하여 Swagger에 올림

위 소스 같은 경우는 any()를 사용하였기 때문에 Controller 패키지 안에 api관련된 url이란 url은 전부 화면에 나오게 된다.

그리고 나서 서버를 켜준다.

접속은 http://localhost:8080/swaager-ui.html 로 들어가면 Swagger 화면이 나오게 되는데 컨트롤러 패키지안의 API정보들이 전부 보이게 된다.

협업할 때 요긴하게 많이 쓸 것 같다.

좋은 웹페이지 즐겨찾기