小程序.公众号等前后端分离的项目中传参为对象时后台接收不到问题?
最近在开发小程序的过程中遇到传参对象后台无法接收到参数问题,后台已经使用了@RequestBody
·注解但还是没有解决,现提供以下方案:
1.查阅了不少资料,大多都要求说前台传参需要转换为JSON数据
以下是通过请求头的方式使传递数据转为JSON,后端只是用@RequestParam
注解就可以接收到参数
代码如下:
api.post(
'/order',
{
"order":order
},
'application/json;charset=UTF-8'
)
2.如果不想转换数据而传参对象可以使用注解@RequestBody
代码如下:
@RequestMapper("/order")
Public void purchase(@RequestBody Order oder){
System.out.println(order.toString());
}
此方法或只能接收一个对象,如出现以下情况请使用第一种方法转json传递
代码如下:
@RequestMapper("/order")
Public void purchase(@RequestBody Order oder,@RequestParam("id")String id){
System.out.println(order.toString());
}
总结:在前后端分离的情况下,不管是对象或JSON数据都可以传递,只是使用方法不同,推荐使用第一种方法,只需要在开发的过程中封装好前端的请求头即可,而传递对象本身只是由后端控制接受