首页 >Java >java教程 >如何在 Spring MVC 中将复杂对象作为 GET 请求参数传递?

如何在 Spring MVC 中将复杂对象作为 GET 请求参数传递?

DDD
DDD原创
2024-11-24 08:14:10290浏览

How to Pass Complex Objects as GET Request Parameters in Spring MVC?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn