如何指定一个请求参数绑定到某个控制器方法参数而不是Spring MVC中的模型属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何指定一个请求参数绑定到某个控制器方法参数而不是Spring MVC中的模型属性?相关的知识,希望对你有一定的参考价值。
这是一个模型类:
public class Contract{
private Integer id;
private String code;
}
这是一个控制器方法:
@RequestMapping(value="/generate-contract", method=GET)
public JsonResult generateContract(Contract contract, String code) throws Exception{
//TODO
return JsonResult.ok(data);
}
如果我将参数id=1&code=DW23
传递给方法,如何仅指定contract
的code
属性存储值或仅指定方法参数code
存储值DW23
?
现在,从我的实验中,他们都获得了价值。
答案
您可以使用@RequestParam
将请求参数映射到java变量。它也进行类型转换。
@RequestMapping(value="/generate-contract", method=GET)
public JsonResult generateContract(@RequestParam int id, @RequestParam String code) throws Exception{
//TODO
return JsonResult.ok(data);
}
通过指定required
的@RequestParam
属性,可以使参数成为可选参数。例如@RequestParam(value = "name", required=false) final String name
。这样,你必须通过创建一个新实例来手动填充契约的属性。
以上是关于如何指定一个请求参数绑定到某个控制器方法参数而不是Spring MVC中的模型属性?的主要内容,如果未能解决你的问题,请参考以下文章