HttpStatus
* 인텔리제이 shift + shift → HttpStatus 검색 enum파일로 여러 상태코드를 확인 할 수 있다.
* @Deprecated 어노테이션이 붙은것은 현재 사용하지 않음
public enum HttpStatus implements HttpStatusCode {
OK(200, HttpStatus.Series.SUCCESSFUL, "OK"),
CREATED(201, HttpStatus.Series.SUCCESSFUL, "Created"),
ACCEPTED(202, HttpStatus.Series.SUCCESSFUL, "Accepted"),
NON_AUTHORITATIVE_INFORMATION(203, HttpStatus.Series.SUCCESSFUL, "Non-Authoritative Information"),
MULTIPLE_CHOICES(300, HttpStatus.Series.REDIRECTION, "Multiple Choices"),
MOVED_PERMANENTLY(301, HttpStatus.Series.REDIRECTION, "Moved Permanently"),
FOUND(302, HttpStatus.Series.REDIRECTION, "Found"),
BAD_REQUEST(400, HttpStatus.Series.CLIENT_ERROR, "Bad Request"),
UNAUTHORIZED(401, HttpStatus.Series.CLIENT_ERROR, "Unauthorized"),
PAYMENT_REQUIRED(402, HttpStatus.Series.CLIENT_ERROR, "Payment Required"),
FORBIDDEN(403, HttpStatus.Series.CLIENT_ERROR, "Forbidden"),
NOT_FOUND(404, HttpStatus.Series.CLIENT_ERROR, "Not Found"),
INTERNAL_SERVER_ERROR(500, HttpStatus.Series.SERVER_ERROR, "Internal Server Error"),
ResponseEntity
public class ResponseEntity<T> extends HttpEntity<T> {
private final HttpStatusCode status;
ResponseEntity를 사용하여 반환 값을 커스텀 할 수 있다.
내가 사용한 예시
@PostMapping("/users")
public ResponseEntity<String> saveUser(@RequestBody UserRequestDto requestDto) {
userService.saveUser(requestDto);
return ResponseEntity.ok("저장 성공");
}
다른 예시
@PostMapping("/users")
public ResponseEntity<String> saveUser(@RequestBody UserRequestDto requestDto) {
userService.saveUser(requestDto);
return new ResponseEntity<>("sucess", HttpStatus.OK);
}
* ResponseEntity 기본 사용법
ResponseEntity .status(상태코드).body(객체)
2024-02-13 추가 // 팀원의 상태코드 반환하는 방법
entity
@Builder
public Post(Long id,String title, String content,User user){
this.id = id;
this.title =title;
this.content =content;
this.user = user;
}
sevice
@GetMapping("/post/{id}")
public ResponseEntity<CommonResponse<PostResponseDto>> getPost(@PathVariable Long id) {
Post post = postService.getPost(id);
PostResponseDto response = new PostResponseDto(post);
return ResponseEntity.ok()
.body(CommonResponse.<PostResponseDto>builder()
.statusCode(HttpStatus.OK.value())
.msg("조회가 완료 되었습니다.")
.data(response)
.build());
}
CommonResponse 가 제공하는 속성
@Setter
@Getter
@Builder
public class CommonResponse<T> {
private Integer statusCode;
private String msg;
private T data;
}
'개발 일지 > Day by day' 카테고리의 다른 글
2024-02-22 TIL (0) | 2024.02.22 |
---|---|
2024-01-31 TIL (0) | 2024.01.31 |
2024-01-26 TIL (1) | 2024.01.26 |
2024-01-23 TIL (1) | 2024.01.24 |
2024-01-18 TIL (0) | 2024.01.18 |