Loading...
Spring Framework Reference Documentation 7.0.2의 @RequestParam의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@RequestParamSee equivalent in the Reactive stack
@RequestParam 어노테이션을 사용하여 Servlet 요청 매개변수(즉,
쿼리 매개변수나 폼 데이터)를 controller의 메서드 인자에 바인딩할 수 있습니다.
다음 예제는 이를 수행하는 방법을 보여 줍니다:
1@Controller 2@RequestMapping("/pets") 3public class EditPetForm { 4 5 // ... 6 7 @GetMapping 8 public String setupForm(@RequestParam("petId") int petId, Model model) { // (1) 9 Pet pet = this.clinic.loadPet(petId); 10 model.addAttribute("pet", pet); 11 return "petForm"; 12 } 13 14 // ... 15 16}
| 1 | petId를 바인딩하기 위해 @RequestParam을 사용합니다. |
1import org.springframework.ui.set 2 3@Controller 4@RequestMapping("/pets") 5class EditPetForm { 6 7 // ... 8 9 @GetMapping 10 fun setupForm(@RequestParam("petId") petId: Int, model: Model): String { // (1) 11 val pet = this.clinic.loadPet(petId) 12 model["pet"] = pet 13 return "petForm" 14 } 15 16 // ... 17 18}
| 1 | petId를 바인딩하기 위해 @RequestParam을 사용합니다. |
기본적으로, 이 어노테이션을 사용하는 메서드 매개변수는 필수이지만,
@RequestParam 어노테이션의 required 플래그를 false로 설정하거나
인자를 java.util.Optional 래퍼로 선언함으로써 메서드 매개변수가 선택적임을 지정할 수 있습니다.
대상 메서드 매개변수 타입이 String이 아닌 경우에는 타입 변환이 자동으로 적용됩니다.
타입 변환을 참조하세요.
인자 타입을 배열이나 리스트로 선언하면 동일한 매개변수 이름에 대한 여러 매개변수 값을 해결할 수 있습니다.
@RequestParam 어노테이션이 어노테이션 안에 매개변수 이름이 지정되지 않은
Map<String, String> 또는 MultiValueMap<String, String>으로 선언되면,
맵은 각 주어진 매개변수 이름에 대한 요청 매개변수 값으로 채워집니다.
다음 예제는 폼 데이터 처리로 이를 수행하는 방법을 보여 줍니다:
1@Controller 2@RequestMapping("/pets") 3class EditPetForm { 4 5 // ... 6 7 @PostMapping(path = "/process", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) 8 public String processForm(@RequestParam MultiValueMap<String, String> params) { 9 // ... 10 } 11 12 // ... 13 14}
1@Controller 2@RequestMapping("/pets") 3class EditPetForm { 4 5 // ... 6 7 @PostMapping("/process", consumes = [MediaType.APPLICATION_FORM_URLENCODED_VALUE]) 8 fun processForm(@RequestParam params: MultiValueMap<String, String>): String { 9 // ... 10 } 11 12 // ... 13 14}
@RequestParam의 사용은 선택적이라는 점에 유의하세요(예를 들어, 그 속성을 설정하기 위해).
기본적으로, (다른 어떤 인자 리졸버에 의해서도 해결되지 않고)
BeanUtils#isSimpleProperty에 의해 결정되는
단순 값 타입인 인자는 @RequestParam이 어노테이션된 것처럼 취급됩니다.
Matrix Variables
@RequestHeader