@ApiResponse 란?
해당 Method의 Response 내용을 변경해준다.
- Config 에서 ResponseMessage 처리 하는 것과 동일하다.
- 각 Method별 에러코드 별도 지정이 가능하다. (코드가 길어짐)
- @ApiImplicitParam과 동일하게 복수 사용이 가능하다.
코드 별 지정이 가능하나,
동일한 코드에 Message를 담아야 하는 경우는 어떻게 해야할까?
@GetMapping(value="/codegroup")
@ApiResponses({
@ApiResponse(code=200, message="성공입니다."),
@ApiResponse(code=400, message="비정상적인 접근입니다."),
@ApiResponse(code=400, message="등록 되지 않은 유저입니다."),
@ApiResponse(code=400, message="인증 횟수를 초과 하였습니다.")
})
public ResponseEntity<Object> getCodegroupList(@RequestParam Map<String, Object> params ) {
생략;
}
해당 코드처럼 할 경우 맨 처음 선언한 400코드만 보인다.
@ApiResponse(code=400, message="비정상적인 접근입니다.")
Swagger는 이미 @ApiResponses로 여러 코드 값을 작성하게 해주었으니,
동일 코드 값을 반환하는 것은 @ApiResponse 안에서 해결 해야 한다.
@GetMapping(value="/codegroup")
@ApiResponses({
@ApiResponse(code=200, message="성공입니다."),
@ApiResponse(code=400, message="1. 비정상적인 접근입니다. \r\n 2. 등록 되지 않은 유저입니다. \r\n 3. 인증 횟수를 초과 하였습니다.")
})
public ResponseEntity<Object> getCodegroupList(@RequestParam Map<String, Object> params ) {
생략;
}
@ApiResponse Message 안에 \r\n 으로 줄 바꿈하여 여러 Mesaage들을 담을 수 있다.
'JAVA > Spring' 카테고리의 다른 글
[API] Spring boot + Swagger 3 (SpringDOC, OpenAPI) 적용 및 사용법 (2) | 2023.11.13 |
---|---|
[Spring] JAVA - formData 이용하여 여러 개의 Entity(값/객체) 전송/전달 하기 (0) | 2023.04.12 |
[Spring] Spring boot - application.yml 값 변수로 사용하기 (0) | 2023.01.16 |
[Spring] context:component-scan 사용법 (0) | 2022.12.16 |
[API] Spring boot Swagger 기본 사용법 (2) | 2022.12.15 |