一、Controller层不带任何注解接收参数

第一种方法是最简单的,严重怀疑以前怎么没有用,谁知道呢。。不过这次是真的管用了,最简单的方式就是Controller接口入参不加任何注解!!!SpringBoot自动做了处理。代码如下:

  1.  
    @RestController
  2.  
    @RequestMapping(path = “/ui/institution”)
  3.  
    public class InstitutionManagementController {
  4.  
     
  5.  
    @GetMapping(value = “/pageQueryForAssign”)
  6.  
    public void pageQueryInstitutionsForAssign(InstitutionQueryDTO queryDTO) {
  7.  
    // TODO
  8.  
    }
  9.  
    }

其实重点就是InstitutionQueryDTO旁边没有任何注解,这样前端正常传Get参数就好,前端传参格式示例如下:

 http://192.168.63.125/ui/institution/pageQueryForAssign?name='xxx'&sex='男'

这里的name和sex是InstitutionQueryDTO实体中的属性,SpringBoot会帮我们自动填充到实体中。

二、Controller层通过@ModelAttribute接收参数

这个写法是在网上阅读文章找到的,这种方法我也记录一下。

  1.  
    @RestController
  2.  
    @RequestMapping(path = “/ui/institution”)
  3.  
    public class InstitutionManagementController {
  4.  
     
  5.  
    @GetMapping(value = “/test”)
  6.  
    public void test(@ModelAttribute InstitutionQueryDTO queryDTO){
  7.  
    // TODO
  8.  
    }
  9.  
    }

这里的重点是@ModelAttribute注解,他也会将前端传过来的参数填充到业务实体中,前端传参格式与方法一相同。