
💡ResponseEntity 정리
ResponseEntity 란?
ResponseEntity를 사용하는 이유
HTTP 상태 코드 지정 가능
200 OK, 404 Not Found, 201 Created 등 명확한 응답 의미 부여return new ResponseEntity<>(data, HttpStatus.OK);
return ResponseEntity.ok("응답 성공"); //축약형
응답 헤더 설정 가능
HttpHeaders headers = new HttpHeaders();
headers.add("Custom-Header", "value");
return new ResponseEntity<>(data, headers, HttpStatus.OK);
조건에 따라 유연한 응답 처리
if (member == null) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(user, HttpStatus.OK);
RESTful API 설계에 적합
주로 사용되는 응답 코드
// 게시글 조회 성공 - 200
return ResponseEntity.ok(postDto);
// 회원가입 성공 - 201
return ResponseEntity.status(HttpStatus.CREATED).body("회원가입 성공");
// 게시글 삭제 성공 - 204
return ResponseEntity.noContent().build();
// 로그인 실패 (비밀번호 틀림 등) - 401
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("로그인 실패");
// 접근 권한 없음 - 403
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("접근 권한이 없습니다");
// 게시글 없음 - 404
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("게시글을 찾을 수 없습니다");
// 아이디 중복 - 409
return ResponseEntity.status(HttpStatus.CONFLICT).body("이미 존재하는 아이디입니다");
// 서버 오류 - 500
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("서버 오류");