Angular 无正文随机发送的POST请求
我有一个调用JavaSpring引导后端API的角度前端。前端多次向后端发送以下请求,但其中一些请求失败,状态代码400。记录的错误为Angular 无正文随机发送的POST请求,angular,spring-boot,axios,http-post,http-status-code-400,Angular,Spring Boot,Axios,Http Post,Http Status Code 400,我有一个调用JavaSpring引导后端API的角度前端。前端多次向后端发送以下请求,但其中一些请求失败,状态代码400。记录的错误为org.springframework.http.converter.httpmessagenoteradableexception:缺少必需的请求正文。但是,当我在Chrome中查看网络选项卡时,请求看起来不错,如果我再次发送请求,它就成功了。但最奇怪的是,如果我通过curl调用它,它永远不会失败 前端: const endpoint='BACKEND_URL/
org.springframework.http.converter.httpmessagenoteradableexception:缺少必需的请求正文
。但是,当我在Chrome中查看网络选项卡时,请求看起来不错,如果我再次发送请求,它就成功了。但最奇怪的是,如果我通过curl调用它,它永远不会失败
前端:
const endpoint='BACKEND_URL/settings';
常量数据=[{“id”:123,“设置”:“设置”}];
常量头={
“内容类型”:“应用程序/json;字符集=UTF-8”,
“授权”:“访问令牌”
};
常量参数={};
post(端点,数据,{headers,params})
.然后(功能(响应){
日志(response.status、response.data);
})
.catch(函数(错误){
console.log('error',error.response.status);
});
后端:
@Api(tags=“Api name”,description=“Api description”)
@RestController
@请求映射(“/”)
公共类设置控制器{
@ApiOperation(“端点名称”)
@PostMapping(path=“/settings”,consumes=MediaType.APPLICATION\u JSON\u UTF8\u VALUE,products=MediaType.APPLICATION\u JSON\u UTF8\u VALUE)
@交易的
公共响应属性更新设置(@RequestBody@ApiParam(“description”)列表设置)引发ApiException{
//没有主体时无法访问的代码
}
}
使用卷曲调用:
curl-X POST\
后端URL/设置\
-H'授权:访问\u令牌'\
-H'内容类型:应用程序/json'\
-d'[{“id”:123,“设置”:“设置”}]'
可能您需要使用字符串格式(而不是数组格式)发送身体部位的数据,您可以尝试使用下面的代码吗-
const data = [{"id":123,"settings":"SETTINGS"}];
....
axios.post(endpoint, JSON.stringify(data), { headers, params })
....
同样的结果/你能分享失败并通过的chrome请求屏幕截图吗?试着删除consumes属性出于兴趣,你为什么要使用axios而不是angular http客户端?