Loading...
Spring Framework Reference Documentation 7.0.2의 @RequestParam의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@RequestParamSee equivalent in the Servlet stack
controller에서 method argument에 query parameter를 binding하기 위해 @RequestParam annotation을 사용할 수 있습니다. 다음 code snippet은 사용 예시를 보여 줍니다:
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(pId); 10 model.addAttribute("pet", pet); 11 return "petForm"; 12 } 13 14 // ... 15}
| 1 | @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 = clinic.loadPet(petId) 12 model["pet"] = pet 13 return "petForm" 14 } 15 16 // ... 17}
| 1 | @RequestParam을 사용하는 경우. |
Servlet API의 “request parameter” concept는 query parameter, form<br>data, 그리고 multipart를 하나로 합칩니다. 그러나 WebFlux에서는 각각을<br>
ServerWebExchange를 통해 개별적으로 access합니다.@RequestParam은 query parameter에만 binding되지만,<br>data binding을 사용하여 query parameter, form data, 그리고 multipart를<br>command object에 적용할 수 있습니다.
@RequestParam annotation을 사용하는 method parameter는 기본적으로 필수이지만,
@RequestParam의 required flag를 false로 설정하거나 argument를 java.util.Optional
wrapper로 선언하여 method parameter가 optional임을 지정할 수 있습니다.
target method parameter type이 String이 아닌 경우 자동으로 type conversion이 적용됩니다.
Type Conversion을 참조하십시오.
@RequestParam annotation이 Map<String, String> 또는
MultiValueMap<String, String> argument에 선언된 경우, map은 모든 query parameter로 채워집니다.
@RequestParam의 사용은 선택 사항이라는 점에 유의하십시오. 예를 들어, 그 attribute를 설정하기 위해 사용할 수 있습니다. 기본적으로, (BeanUtils#isSimpleProperty)에 의해 결정되는 simple value type인 argument이고 다른 argument resolver에 의해 resolve되지 않는 argument는 @RequestParam이 annotation된 것처럼 취급됩니다.
Matrix Variables
@RequestHeader