HTTP 응답을 더 정교하게 제어할 수 있게 해주는 Spring 클래스.
HTTP 응답 전체를 직접 설정해서 반환할 수 있게 해준다.
다음과 같은 코드가 있다면
@PostMapping("/login")
public ResponseEntity<String> login() {
return ResponseEntity.ok("로그인 성공!");
}
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 15
로그인 성공!
HTTP 응답을 다음과 같이 준다.
ResponseEntity<String> 형식으로 사용하면 상태코드 지정/ 헤더 설정 / 본문 내용 설정이 가능하다.
※ 헤더는 서버와 클라이언트가 정보를 주고받을 때 데이터의 형식, 누구한테서 왔는지.. 등등의 정보를 알려주는 것을 말함
※ Entity는 데이터 덩어리 하나 자체를 의미함. 즉, ResponseEntity는 응답이라는 객체 덩어리 하나로, 본문과 상태코드, 헤더를 포함한다.
⇒ HTTP 응답 전체(body, status, headers)를 하나의 객체로 감싼 것!
ex)
- Member → 회원이라는 개체 → DB 엔티티
- ResponseEntity → HTTP 응답 하나를 통째로 표현하는 단위
[예시]
@PostMapping("/login")
public ResponseEntity<String> login(@RequestParam String id) {
if (id.equals("admin")) {
return ResponseEntity.status(403).body("접근 금지"); // 403 상태로 응답
} else {
return ResponseEntity.ok("로그인 성공"); // 200 상태로 응답
}
}
'웹 개발' 카테고리의 다른 글
서버(Server)와 세션(Session) (0) | 2025.05.04 |
---|---|
DAO 버전 UP하기 (0) | 2025.05.02 |
관리자 회원 관리 페이지 (0) | 2025.04.28 |
Repository와 Impl (0) | 2025.04.27 |
Eclipse와 VSCode (0) | 2025.04.26 |