springboot

[SpringBoot] Swagger 간편 어노테이션 정리

inhooo00 2024. 3. 21. 01:16

앞 글에 연계해서 스웨거 어노테이션을 써 보자~ 

 

1. RequestDto

    @NotBlank(message="메모 내용을 입력해야 합니다.")
    @Size(min = 1, max = 60, message = "1 글자 이상, 60 글자 이하가 아닙니다.")
    @Schema(description = "걱정 메모 내용", example = "너무 힘들어요.")
    @NotNull
    private String worryText;

우리가 봐야 할 어노테이션은 @Schema다.

딱 보면 알겠지만, 해당 Dto를 사용하게 될 시에 스웨거를 보면 "worryText" : "String"이 아닌 아래와 같은 문구로 대체된다.

프론트가 보고 이해하기 더 쉽다!!

 

 

2. Controller

@Operation(summary = "걱정 메모 작성", description = "걱정 메모를 작성합니다")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200", description = "메모 작성을 성공했습니다"),
            @ApiResponse(responseCode = "400", description = "잘못된 요청입니다"),
            @ApiResponse(responseCode = "401", description = "헤더 없음 or 토큰 불일치",
                    content = @Content(schema = @Schema(example = "INVALID_HEADER or INVALID_TOKEN")))
    })

이제 컨트롤러 어노테이션을 보자.

@Operation어노테이션은 api동작에 대한 명세를 작성하기 위해 Controller 메소드에 설정한다.

요롷게 옆에 설명 나오는 느낌이다.

열어보면 이렇게 보인다.

 

 

 

@ApiResponse는 에러 코드 설명서라고 보면 된다.

자기가 구조화해 둔 에러 코드가 있다면 추가해서 언급하고, 사용하면 된다.

성공 예시다. "200을 메모 작성을 성공했습니다" 로 설명해 놓아서 위와 같은 결과물이 나오게 된다.

 

 

 

필자는 이렇게만 사용하고 있지만, 아직 더 배우는 중이다.. 이렇게 기본적인 내용만 사용해 줘도 협업할 때 더 행복하고 즐겁게 할 수 있을 것이다~~