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<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){
    ...
}

测试结果:

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Spring Boot Rest接口注册用户的例子。 首先,我们需要定义一个用户模型类,例如: ```java public class User { private String username; private String password; private String email; // getter、setter方法省略 } ``` 接着,我们需要定义一个控制器类来处理Rest接口的请求和响应,例如: ```java @RestController public class UserController { @PostMapping("/register") public ResponseEntity<String> registerUser(@RequestBody User user) { // TODO: 在这里实现注册用户的逻辑 return ResponseEntity.ok("User registered successfully!"); } } ``` 在上面的代码,我们使用`@RestController`注解来标识这是一个Rest控制器类,使用`@PostMapping("/register")`注解来指定这个接口的URL路径和HTTP方法为POST,使用`@RequestBody`注解来指定请求体的参数类型为User类,这样Spring Boot就会自动将请求体的JSON数据转换为User对象。 接着,在`registerUser()`方法,我们可以编写注册用户的逻辑,例如将用户信息保存到数据库。最后,我们使用`ResponseEntity`类来构造响应体,返回一个成功的消息给客户端。 最后,我们需要在Spring Boot应用程序注册这个控制器类,例如: ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public UserController userController() { return new UserController(); } } ``` 在上面的代码,我们使用`@SpringBootApplication`注解来标识这是一个Spring Boot应用程序,并在`main()`方法启动它。同时,我们使用`@Bean`注解来注册`UserController`类的实例,这样Spring Boot就会自动将它添加到控制器列表。 现在,我们就可以使用POST请求向`/register`接口发送一个JSON格式的用户信息,例如: ```json { "username": "test", "password": "123456", "email": "test@example.com" } ``` 当然,我们需要使用HTTP客户端工具来测试这个接口,例如Postman或curl。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值