在 Spring MVC 中将复杂对象作为 GET 请求参数传递
在使用 Ajax GET 请求从表中过滤数据的场景中,您可能会遇到需要传递复杂对象作为请求参数的情况。传统上,这需要在控制器中使用过多的 @RequestParam 注释。
问题:
您有一个 GET 请求来过滤具有如下查询参数的表:
http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
您的控制器的参数将是:
@RequestMapping(value = "/action") public @ResponseBody List<MyObject> myAction( @RequestParam(value = "page", required = false) int page, @RequestParam(value = "prop1", required = false) String prop1, @RequestParam(value = "prop2", required = false) String prop2, @RequestParam(value = "prop3", required = false) String prop3) { ... }
解决方案:
为了简化这个过程,可以直接将复杂对象作为请求参数传递,无需@RequestParam注解。 Spring会自动将请求参数绑定到你的类的实例上:
public @ResponseBody List<MyObject> myAction( @RequestParam(value = "page", required = false) int page, MyObject myObject)
以上是如何在 Spring MVC 中将复杂对象作为 GET 请求参数传递?的详细内容。更多信息请关注PHP中文网其他相关文章!