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

       这次在项目开发中要求写Rest风格接口,在调试时发现有个按条件分页查询的接口涉及到多参数传递。因为参数较多,不想使用GET请求避免参数太过繁琐,经过试验,发现可以使用POST请求在后台通过JavaBean来接受所有参数。现在做下记录:
        
参数实体类:
 
  
@Data public 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> selectOrderListByPage(OrderPageDTO orderPageDTO){ OrderMessageVO> orderMessageVO = orderApi.selectOrderListByPage(orderPageDTO);
return orderMessageVO;
}
    API层接口:
 
  
    @PostMapping( "/getOrderList")     
public OrderMessageVO> selectOrderListByPage( @RequestBody OrderP    ageDTO orderPageDTO);

API实现方法:
 
   
@Override
public OrderMessageVO> selectOrderListByPage( @RequestBody OrderPageDTO orderPageDTO){
    ...
}

测试结果:
SpringBoot中Rest风格接口传递多个参数_第1张图片

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

你可能感兴趣的:(SpringBoot,SpringBoot)