요청 파라미터(request parameter)란 클라이언트에서 서버로 전송되는 값을 의미합니다. 요청 파라미터의 종류에는 요청 쿼리 스트링(GET) 또는 요청 본문(POST)으로 보내지는 값처럼 뷰에서 입력한 값이나 선택 값, 숨김 파라미터로 전송된 값 등이 있습니다. 또는 뷰에서 클릭한 버튼의 name의 속성 값, URL 경로의 일부로 보내지는 값 등이 있습니다.
이를 취득하는 방법은 다음과 같습니다.
| @RequestParam | Form 클래스 | |
| 내용 | 어노테이션을 이용하여 파라미터를 하나씩 취득 | 스프링 MVC가 Form 클래스 내의 필드에 대해 값을 저장 |
| 상황 | 하나의 뷰에 버튼이 여러 개 있을 때 어느 버튼이 클릭되어 요청이 보내졌는지 식별 | 요청 파라미터를 모아 하나의 객체로 받아들임 |
| 장점 | 간편하고, 각각의 요청 파라미터를 개별적으로 매핑할 수 있음 | - 요청 파라미터를 받을 때 형변환 또는 포맷 지정 가능 - 요청 파라미터는 Form 클래스의 필드 타입으로 자동 변환되어 저장 |
| 단점 | - 요청 파라미터를 하나씩 인수로 받기 때문에 입력 항목이 늘어날수록 인수도 함께 늘려야 하므로 확장성에 문제가 발생할 수 있음 - 해당 파라미터가 존재하지 않으면 HTTP 400 - Bad Request 발생(파라미터가 선택일 경우 required 엘리먼트를 false로 설정하거나 별도의 디폴트 값을 지정) |
입력 항목이 뷰에서 <form> 태그 안에 작성 되어 있어야 함 |
※ "스프링 프레임워크 첫걸음"이라는 책을 참고하여 쓴 게시글로, 책의 내용을 완전히 담지 않되 공부한 부분을 위주로 정리하여 작성하고자 했습니다. 따라서 글에는 책에서 다루지 않은 내용도 포함되어 있으며 문제가 되거나 부정확한 부분이 있다면 알려주시면 감사하겠습니다.
※ 책은 게시글보다 정확한 내용을 담고 있으며 코드, 그림, 예제를 이용하여 개념을 자세히 설명합니다.
'Java > Spring' 카테고리의 다른 글
| [Spring] 8. 애플리케이션 만들기 (0) | 2023.07.07 |
|---|---|
| [Spring] 7. 유효성 검사 (0) | 2023.06.29 |
| [Spring] 5. MVC 모델 (0) | 2023.06.15 |
| [Spring] 4. 데이터베이스 작업 (0) | 2023.06.05 |
| [Spring] 3. 스프링 프레임워크의 핵심 기능 알아보기 (0) | 2023.06.03 |