일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 인덱스의 장단점
- rest와 soap의 차이점
- nat의 작동 방식
- join의 종류
- 함수형 객체지향형 차이점
- acid 특성
- 인덱스의 역할
- 로드 밸런서의 종류
- Spring Boot
- Spring
- nat의 유형
- 트리 그래프 차이
- spring rest api 설정
- 트리와 그래프
- 인덱스의 역할과 사용 이유
- Spring REST API
- 샤딩(sharding)과 파티셔닝(partitioning)의 개념
- nat(network address translation)의 역할과 사용 이유
- nat의 장단점
- 트리 그래프 차이점
- 정규화와 비정규화의 개념 및 장단점
- 객체지향 프로그래밍
- 트랜잭션의 acid 특성
- 린크드 리스트
- 데이터베이스 락(lock)의 종류와 동작 방식
- 파티셔닝의 종류
- REST API
- 데이터 바인딩
- rdbms와 nosql의 차이점
- orm(object-relational mapping)의 장단점
Archives
- Today
- Total
♠개발자의 작은 서재♠
@ModelAttribute와 @RequestParam을 사용한 데이터 바인딩 본문
@ModelAttribute와 @RequestParam
1. @ModelAttribute
용도:
@ModelAttribute
는 HTTP 요청의 파라미터를 Java 객체에 바인딩할 때 사용합니다. 주로 폼 데이터를 처리할 때 유용합니다.기능:
- 요청 파라미터의 이름이 객체의 필드 이름과 일치하면 자동으로 값을 설정합니다.
- 중첩된 객체도 지원합니다. 예를 들어, 사용자 정보와 주소 정보를 함께 받을 때 유용합니다.
예시:
@PostMapping("/register") public String registerUser(@ModelAttribute User user) { // user 객체에 바인딩된 데이터 처리 return "registrationSuccess"; }
2.
@RequestParam
용도:
@RequestParam
은 개별 요청 파라미터를 메서드의 매개변수에 직접 바인딩할 때 사용합니다. 간단한 데이터나 단일 값에 대해 유용합니다.기능:
- 요청 파라미터의 이름을 지정하여 해당 값을 직접 매개변수에 할당합니다.
- 필수 여부를 설정할 수 있으며, 기본값을 지정할 수 있습니다.
예시:
@GetMapping("/greet") public String greetUser(@RequestParam String name) { return "Hello, " + name; }
비교
| 기능 | @ModelAttribute | @RequestParam |
|---------------------- |------------------------------------------------|----------------------------------------------|
| **주 용도** | 전체 객체 바인딩 | 개별 요청 파라미터 바인딩 |
| **중첩 객체 지원** | 지원 | 지원하지 않음 |
| **파라미터 이름 매칭** | 요청 파라미터와 객체의 필드 이름이 일치해야 함 | 요청 파라미터의 이름을 직접 지정해야 함 |
| **유효성 검사** | 객체 전체에 대한 유효성 검사 가능 | 단일 값에 대한 유효성 검사 가능 |
| **코드 간결성** | 더 적은 코드로 여러 필드를 처리 | 간단한 필드 처리에 적합 |
이 두 애너테이션은 서로 다른 용도로 사용되지만, Spring의 데이터 바인딩 기능을 효과적으로 활용하는 데 중요한 역할을 합니다.
'Spring MVC > 웹 애플리케이션 개발' 카테고리의 다른 글
@ExceptionHandler와 @ControllerAdvice를 활용한 글로벌 예외 처리 (1) | 2024.10.21 |
---|---|
데이터 바인딩과 폼 처리 (0) | 2024.10.21 |
RESTful API의 기본 개념과 Spring에서 REST API 만드는 방법 ( 4 ) (1) | 2024.10.21 |
RESTful API의 기본 개념과 Spring에서 REST API 만드는 방법 ( 3 ) (0) | 2024.10.21 |
RESTful API의 기본 개념과 Spring에서 REST API 만드는 방법 ( 2 ) (1) | 2024.10.21 |
Comments