[Swagger3] API작업에서 매개 변수를 나타내는 @Parameter

김우진·2022년 9월 15일
0

swagger

목록 보기
3/3

@Parameter

@parameter는 API에서 매개 변수를 나타낼 때 사용합니다.

Properties

  • name : 파라미터의 이름
  • description : 파라미터의 설명
  • in : 파라미터의 위치
    • query : query string 방식으로 전달하는 경우
    • header : header에 담겨 전달하는 경우
    • path : pathvariable 방식으로 전달하는 경우
    • cookie : cookie에 담겨 전달하는 경우

적용 위치

@Parameter의 Target은 ANNOTATION_TYPE, FIELD, METHOD, PARAMETER이렇게 4가지로 명시되어 있지만, PARAMETER에 작성하면 name 설정을 해줄 필요가 없어 주로 PARAMETER에 작성하여 명시적으로 설정하는 것을 선호하는 것 같았습니다.

public PostResponseDto findById(@Parameter(description = "게시글 의 id", in = ParameterIn.PATH) 
									@PathVariable Long id) {

📌 참고
Swagger2에서 @Parameter를 대체 하는 것이 @ApiImplicitParam인대 @ApiImplicitParam은 Method 쪽에 명시해주는 것을 선호하는 것 같았습니다.

@ApiImplicitParam(name = "LoginDto", value = "로그인 정보가 담긴 Request Body")
@PostMapping("/login")
public ResponseEntity<?> login(@RequestBody LoginDto requestDto) {
			...
}

📌 참고
API 문서에 표시하고 싶지 않은 Parameter의 경우 @Parameter(hidden=true) 설정을 해주면 표시되지 않습니다.

출처

0개의 댓글