使用delte请求出现报错:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required
本文主要介绍的是使用delete出现报错的解决方法
写一个delete请求模块的时候,很完美,乍一看,后面报错,报的就是标题的错,接下来我来分析一下。
首先,我的delete请求,我传递的参数是一个对象型——user,而且我在后端还添加了@RequestBody注解,后面查资料我才知道@RequestBody注解适用的是Put和Post请求,并不直接适用delete请求,解释如下:
在Spring MVC中,
@RequestBody注解通常用于处理HTTP请求的正文部分,它通常与POST或PUT方法一起使用,用于发送包含数据的JSON、XML或其他格式的请求。然而,@RequestBody并不直接适用于DELETE请求,因为DELETE请求的标准定义是不包含请求体的,它的目的是表示删除资源。
DELETE /resource/{id}这样的请求不需要提供任何数据(即没有@RequestBody)。当你想要从服务器删除某个资源时,通常会指定资源的唯一标识符(如路径参数{id}),而不是发送任何数据。不过,如果你在一个自定义的RESTful API中,或者使用了某种非标准的方式,比如允许客户端在DELETE请求中提供额外的信息来影响删除操作,这时你可以考虑使用
@RequestBody,但这并不是标准做法,也不常见。
后面我成功的修改了代码。接下来看我的代码部分吧!也是不报错了!Nice!
前端:
axios
.delete("http://localhost:8080/user/deleteUserByUid/"+deleteData.value.uid,
)
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
后端:
@DeleteMapping("/deleteUserByUid/{uid}")
public void delete(@PathVariable("uid") String uid){
System.out.println("接收的uid="+uid);
usersService.deleteUserById(Integer.parseInt(uid));
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)