【注解】@RequestBody——状态码400
【Java与小程序交互】
请求加上请求头:
promise.postRequest(url, data, 2).then(res => {
console.log(res);
}).catch(err => {
console.log("err", err);
})
//请求头具体内容:
let header = {
"content-type": "application/x-www-form-urlencoded;charset=UTF-8",
token: wx.getStorageSync('token'),
version: wx.getStorageSync('version')
}
if (postheader == 0) {
header = {
"content-type": "application/json;charset=UTF-8"
}
}
if (postheader == 1) {
header = {
"content-type": "application/x-www-form-urlencoded;charset=UTF-8"
}
}
if (postheader == 2) {
//console.log("postheader",postheader)
header = {
"content-type": "application/json;charset=UTF-8",
token: wx.getStorageSync('token'),
version: wx.getStorageSync('version')
}
}
return wxPromisify(wx.request)({
url: app.globalData.callApiUrl + url,
method: 'POST',
data: Object.assign(data, dataParam),
header: header
})
Java代码:
public List<HashMap<String,Object>> IndexRepairPersonnel(@RequestBody SysUserStatus sysUserStatus){
User user = userService.get(sysUserStatus.getUserId().getId());
List<HashMap<String,Object>> userlist = sysUserStatusService.selectRepairPersonnelPunch(user.getProvinceCode());
return userlist;
}
1,没有@RequestBody:报错500
2,没有promise.postRequest(url, data, 2)中的第三个参数也没有@RequestBody:报错400
【知识点】
"content-type": "application/json;charset=UTF-8"(JSON格式)
{
"key1":"value1",
"key2":"value2"
}
"content-type": "application/x-www-form-urlencoded;charset=UTF-8"(默认格式)
key1=value1
key2=value2
p.s.:content-type:multipart/form-data 上传文件用这种格式
区别@RequestParam:RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数(以后在具体研究。。。)
本文来自博客园,作者:ICE-CREAMMM,转载请注明原文链接:https://www.cnblogs.com/gsxm/p/16066634.html