미소를뿌리는감자의 코딩
[Fight Club] Global Handler 설정 - Swagger 본문
728x90
0. 개요
이전 작성 글을 이어서, 이번에는 swagger를 handle 하는 코드를 작성해 보도록 할 것이다.
2. swagger
SpringBoot 프로젝트에 Swagger UI 적용하기
Swagger UI는 프론트엔드와 백엔드의 협업에 사용되는 툴입니다. Swagger UI를 사용하면, API를 시각화하는 코드가 자동으로 생성되기 때문에 보다 간편하게 API를 테스트해 볼 수 있게 됩니다. 또한, AP
velog.io
이 분의 블로그를 보면서 참고했다.
중간에 ,
이렇게 뜨면서 swagger가 작동이 안했었다.
swagger dependency 문제인 줄 알고 swagger version을 계속 바꾸어 주었는데도 안되었다.
이에, spring boot version을 조금 낮춰주니까 정상적으로 작동하였다.
위 블로그 글을 참고하며, swaggerconfig와 TestControllerDocs를 작성해 주었다.
TestControllerDocs는 따로 작성하고, controller에 implements하는 식으로 작성하여 실제 controller code와 분리해 주었다.
@Tag(name = "Test", description = "APIs for test")
public interface TestControllerDocs {
@Operation(summary = "IO Error Response checker", description = "ServiceException Handler 작동 확인을 위한 API" )
@ApiResponses ({
@ApiResponse(responseCode = "400",
description = "status, message, code가 출력 된다면 정상",
content = @Content(schema = @Schema(implementation = ErrorResponseDto.class)))
})
@Parameters({
@Parameter(name = "test",
description = "actually this api does not have parameters",
example = "i just wanted to show you an example")
})
public String healthCheck();
}
@RestController
@RequestMapping("/health")
@Slf4j
public class TestController implements TestControllerDocs
이렇게 TestControllerDocs를 implements 해주었다.
728x90