티스토리 뷰
@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";
}
이러한 어노테이션들은 각각의 상황에 맞게 사용되며, 사용자가 받아야 하는 데이터의 종류와 요청 방식에 따라 선택됩니다.
'코딩 > spring' 카테고리의 다른 글
[24주 1일차] 회원가입시 유효성검사 (0) | 2024.03.18 |
---|---|
[23주 4일차] 리뷰 수정폼 ajax로 불러와서 띄워주기 (ajax는 json데이터 형식으로 반환!) (0) | 2024.03.14 |
[23주 3일차] 매칭확인 / 게임&매칭 등록시 팀 정보 가져가기(db의 이미지이름 가져와서 form으로 다시 입력하기) (0) | 2024.03.13 |
[23주 2일차] 남은 시간 구현 (1) | 2024.03.12 |
[23주 1일차] 팀 가입신청 (0) | 2024.03.11 |
- Total
- Today
- Yesterday