跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

SpringBoot怎么用实体接收Get请求传递过来的多个参数

一、Controller层不带任何注解接收参数 第一种方法是最简单的,严重怀疑以前怎么没有用,谁知道呢。。不过这次是真的管用了,最简单的方式就是controller接口入参不加任何注解!!! springboot 自动做了处理。代码如下:
/** * @author zhangzhixiang * @since v1.0.0 */ @RestController @RequestMapping(path = "/ui/institution") public class InstitutionManagementController { @GetMapping(value = "/pageQueryForAssign") public void pageQueryInstitutionsForAssign(InstitutionQueryDTO queryDTO) { } }
其实重点就是InstitutionQueryDTO旁边没有任何注解,这样前端正常传Get参数就好,前端传参格式示例如下: http://192.168.63.125/ui/institution/pageQueryForAssign?name='xxx'&sex='男' 这里的name和sex是InstitutionQueryDTO实体中的属性,SpringBoot会帮我们自动填充到实体中。 二、Controller层通过@ModelAttribute接收参数 这个写法是在网上阅读文章找到的,这种方法我也记录一下。
/** * @author zhangzhixiang * @since v1.0.0 */ @RestController @RequestMapping(path = "/ui/institution") public class InstitutionManagementController { @GetMapping(value = "/test") public void test(@ModelAttribute InstitutionQueryDTO queryDTO){ } }
这里的重点是@ModelAttribute注解,他也会将前端传过来的参数填充到业务实体中,前端传参格式与方法一相同。 我一年前应该也有通过第一种方式来接受Get请求的参数,但是失败了没有接收到,我失败的原因应该是我的Controller同时接收多个实体入参,所以失败了。

相关文章