Controller方法Map接收不到前端传来的参数?
JAVA做后端,框架是Spring + SpringBoot + MyBatis,小程序我是这么请求的
wx.request({
url: 'http://localhost:8080/form/getFormsByParam',
method: 'POST',
data: {
state: currentTab,
userId: openid
},
success: function (res) {
var data = res.data.data;
}
})
JAVA后端的代码是这样的...
@RequestMapping(value = "/getFormsByParam")
@ResponseBody
public ServerResponse getFormsByParam(Map<String, String> map){
if(map == null){
return ServerResponse.createBySuccess();
}
System.out.println(map.toString());
List<Form> forms = formService.getFormsByParam(map);
return ServerResponse.createBySuccess(forms);
}
map打印是出来总是 {},这是怎么回事?
如果加上注解,小程序会报请求400,而且明明已经制定POST,但请求还是GET
getFormsByParam(@RequestBodyMap<String, String> map)
如果小程序改header格式也不能,json那些都试过....所以要怎么解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不清楚小程序的api,提供一些思路
Map
并不能拿到任何参数@RequestBody
注解,同时要确定前端使用了正确的Content-Type
,这里需要application-json
form-data
或者form-urlencoded
,用@RequestParam
接json方式,
或者表单提交(key,value)