SpringBoot中Rest风格接口传递多个参数

       这次在项目开发中要求写Rest风格接口,在调试时发现有个按条件分页查询的接口涉及到多参数传递。因为参数较多,不想使用GET请求避免参数太过繁琐,经过试验,发现可以使用POST请求在后台通过JavaBean来接受所有参数。现在做下记录:
        
参数实体类:

@Datapublic class OrderPageDTO {
/** 
  *用户分象ID 
  */   
private Long userId;
/**
* 页号     
*/    
private int page = 1;    
/**     
* 每页显示记录数    
*/   
 private int limit = 20;
}    

controller层方法(接收):


/**  
* @Description: 分页查询积分订单交换列表  
* @param orderPageDTO  
* @return OrderMessageVO  
* @author lfh  
*/ 
 
@PostMapping("/getOrderList")
@PreAuthorize("hasAuthority('order-service-order-selectByPage')")
public OrderMessageVO<List<OrderVO>> selectOrderListByPage(OrderPageDTO orderPageDTO){ OrderMessageVO<List<OrderVO>> orderMessageVO = orderApi.selectOrderListByPage(orderPageDTO);
return orderMessageVO;
}
    API层接口:
    @PostMapping("/getOrderList")    
public OrderMessageVO<List<OrderVO>> selectOrderListByPage(@RequestBody OrderP    ageDTO orderPageDTO);

API实现方法:

@Override
public OrderMessageVO<List<OrderVO>> selectOrderListByPage(@RequestBody OrderPageDTO orderPageDTO){
    ...
}

测试结果:
SpringBoot中Rest风格接口传递多个参数

注意:
1、controller层方法接收参数时不用加任何(@RequestBody..)注解,前台传递的参数只要和OrderPageDTO 里面的属性名称相同,会自动将所传参数转换封装为OrderPageDTO。
2、API接口方法和接口实现方法的参数前必须加上@RequestBody注解,否则获取的参数会为空