" HTTP 요청과 응답에서 데이터를 처리할 때 사용하는 스프링 애노테이션 "
@ResponseBody
: 컨트롤러 메서드가 반환하는 데이터를 HTTP 응답의 본문(body)으로 직접 전송하도록 지시
(자바 객체를 응답 본문의 객체로 변환 후 서버에서 클라이언트로 응답 데이터 전송)
- 주로 JSON, XML등의 형식으로 데이터를 응답할 때 사용된다
- 메서드 레벨에 사용할 경우, 해당 컨트롤러의 모든 메서드가 기본적으로 @ResponseBody 동작을 갖게 되며, 특정 메서드에만 적용하려면 해당 메서드에 애노테이션을 적용
@RestController
public class TestController {
@RequestMapping("/example")
@ResponseBody
public String exampleResponseBody(){
return "/main.do";
}
}
@RequestBody
: 클라이언트에서 서버로 필요한 데이터를 전송하기 위해 HTTP 요청의 본문(body)에 있는 데이터를 메서드의 매개변수에 매핑하도록 지정 (자바 객체로 변환시켜 객체에 저장, 서버에서 클라이언트로 응답 데이터 전송)
- 주로 JSON, XML등의 형식으로 데이터를 응답할 때 사용된다
@RestController
public class TestController {
@RequestMapping("/example")
public ResponseEntity<String> exampleResponseBody(@RequestBody DTO dto){
// DTO 객체에 클라이언트에서 전송한 데이터가 매핑됨
return ResponseEntity.ok(DTO.toString());
}
}
※ RESTful API와 같이 데이터를 주고받는데 유용하게 사용 : @ResponseBody는 응답의 본문을 직접 사용할때, @RequestBody는 요청의 본문을 객체로 변환할때 주로 사용된다. |
'BE > JAVA' 카테고리의 다른 글
LIFO(Stack)과 FIFO(Queue) (0) | 2024.06.25 |
---|---|
컬렉션 프레임워크와 인터페이스 종류 (0) | 2024.06.25 |
[기본] 키워드로 간단하게 알아보는 Java.5 (0) | 2024.02.23 |
[기본] 키워드로 간단하게 알아보는 Java.3 (0) | 2024.02.23 |
[기본] 키워드로 간단하게 알아보는 Java.2 (0) | 2024.02.23 |