티스토리 뷰

 

@RequestBody, @ModelAttribute, @RequestParam은 스프링에서 컨트롤러 메서드의 파라미터를 바인딩하기 위한 어노테이션입니다. 각각의 어노테이션은 다른 용도와 사용 사례를 가지고 있습니다.

 


@RequestBody:

 


@RequestBody 어노테이션은 HTTP 요청의 본문(body)을 자바 객체로 변환하는 데 사용됩니다.
주로 POST 또는 PUT 요청에서 JSON 또는 XML 형식의 데이터를 받을 때 사용됩니다.
객체의 필드와 JSON 속성 이름이 일치해야 자동 매핑이 이루어집니다.
예시:

java
Copy code
@PostMapping("/api/saveTeamWinning")
public String saveTeamWinning(@RequestBody TeamWinning teamWinning) {
    // teamWinning 객체에 HTTP 요청의 JSON 본문이 자동으로 매핑됩니다.
    // ...
    return "success";
}

 


@ModelAttribute:


@ModelAttribute 어노테이션은 요청 파라미터를 자바 객체로 바인딩할 때 사용됩니다.
주로 HTML 폼으로부터 전송된 데이터를 받을 때 사용됩니다.
객체의 필드와 HTML 폼의 input 필드의 name 속성이 일치해야 자동 매핑이 이루어집니다.
예시:

java
Copy code
@PostMapping("/formSubmit")
public String formSubmit(@ModelAttribute TeamWinning teamWinning) {
    // teamWinning 객체에 HTML 폼 데이터가 자동으로 매핑됩니다.
    // ...
    return "success";
}

 


@RequestParam:

 


@RequestParam 어노테이션은 HTTP 요청의 쿼리 파라미터를 받을 때 사용됩니다.
각 쿼리 파라미터는 메서드의 파라미터에 직접 매핑됩니다.
필수 여부, 기본값 등을 설정할 수 있습니다.
예시:

java
Copy code
@GetMapping("/getTeamInfo")
public String getTeamInfo(@RequestParam String teamId, @RequestParam(required = false) String season) {
    // teamId와 season은 쿼리 파라미터와 자동으로 매핑됩니다.
    // ...
    return "success";
}
이러한 어노테이션들은 각각의 상황에 맞게 사용되며, 사용자가 받아야 하는 데이터의 종류와 요청 방식에 따라 선택됩니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday