Swagger3 적용 (Spring boot)

코딩을 합시다·2023년 2월 13일
0
post-thumbnail

먼저 swagger 의존성을 추가해준다.
(Swagger2 이하 버전을 사용하면 application/json 통신이 안되는 문제가 있어서 Swagger3으로 갈아탔다. Swagger3은 특별한 수정없이 바로 application/json 통신이 가능하단 장점이 있었다.)

의존성을 추가한 뒤에 http://localhost:8080/swagger-ui.html로 접속하면 위에 화면과 같은 모습이 나온다면 잘 추가가 된 것이다.


잠깐

만약 이런 오류가 뜬다면
org.springframework.context.ApplicationContextException:Failed to start bean 'documentationPluginsBootstrapper';nested exception is java.lang.NullPointerException 오류가 뜬다면

application.properties 파일에 spring.mvc.pathmatch.matching-strategy=ant_path_matcher를 추가해주면 해결된다!

오류가 뜨는 이유: Spring boot 2.6버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 몇몇 라이브러리에서 오류가 발생하고 있기 때문에 수정으로 설정해주면 된다.


Docket을 추가해준다.

  1. useDefaultResponseMessages(false)를 통하여 기본 swagger default response 메세지를 지워줌

  2. apis(RequestHandlerSelectors.basePackage("shop.dodotalk.dorundorun")) shop.dodotalk.dorundorun 이하의 모든 경로를 swagger ui로 지정

  3. paths(PathSelectors.ant("/api/**"))를 통하여 shop.dodotalk.dorundorun 이하의 "/api/"가 붙은 경로만 swagger ui로 나타나게 만들어줌

성공적으로 잘 적용되었다.

이제 swagger api를 사용해서 꾸며주면 된다.
ex) @ApiOperation(value = "POST 작성", notes = "작성"), @ApiIgnore

0개의 댓글