Backend/SpringBoot

@RequestBody, @ResponseBody

Dean83 2025. 9. 15. 11:33

사실, 앞선 내용들에서 간단하게 정리를 해두었는데, 이 두개의 어노테이션을 별도로 기록하여 두는것이 좋을거 같아서 작성한다. 

 

1. @RequestBody

  • 컨트롤러에서 클라이언트가 인자값을 넘길때 json으로 넘어온 데이터를 엔티티로 변환할때 사용한다.
  • 컨트롤러 메소드에서 파라메터 부분에 쓰인다. 
@RestController
public class UserController {

    @PostMapping("/users")
    public String createUser(@RequestBody User user) {
        return "Created user: " + user.getName();
    }
}

class User {
    private String name;
    private int age;

    // getter, setter
}

 

2. @ResponseBody

  • @Controller 어노테이션이나 @ControllerAdvice 같은 view resolver를 통해 html이나 타임리프 등을 리턴하는 경우, json 등으로 응답하기 위해 사용된다. 
@Controller
public class HelloController {

    @GetMapping("/hello")
    @ResponseBody   
    public String hello() {
        return "Hello World";  
    }
}