此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
@RequestParam
您可以使用@RequestParam
注释,将查询参数绑定到方法参数
控制器。以下代码片段显示了用法:
-
Java
-
Kotlin
@Controller
@RequestMapping("/pets")
public class EditPetForm {
// ...
@GetMapping
public String setupForm(@RequestParam("petId") int petId, Model model) { (1)
Pet pet = this.clinic.loadPet(petId);
model.addAttribute("pet", pet);
return "petForm";
}
// ...
}
1 | 用@RequestParam . |
import org.springframework.ui.set
@Controller
@RequestMapping("/pets")
class EditPetForm {
// ...
@GetMapping
fun setupForm(@RequestParam("petId") petId: Int, model: Model): String { (1)
val pet = clinic.loadPet(petId)
model["pet"] = pet
return "petForm"
}
// ...
}
1 | 用@RequestParam . |
Servlet API“请求参数”概念将查询参数、形式
数据,并多部分合二为一。但是,在 WebFlux 中,每个都可以通过ServerWebExchange .而@RequestParam 绑定到查询参数,您可以使用
数据绑定,将查询参数、表单数据和多部分应用于命令对象。 |
使用@RequestParam
注释是默认必需的,但
您可以通过设置@RequestParam
自false
或者通过使用java.util.Optional
包装纸。
如果目标方法参数类型不是String
.请参阅类型转换。
当@RequestParam
注释在Map<String, String>
或MultiValueMap<String, String>
参数,则映射将填充所有查询参数。
请注意,使用@RequestParam
是可选的——例如,设置其属性。由
default,任何简单值类型的参数(由 BeanUtils#isSimpleProperty 确定)
并且不被任何其他参数解析器视为已注释
跟@RequestParam
.