当前位置:   article > 正文

使用delte请求出现报错:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required_delete报错请使用json格式

delete报错请使用json格式

写一个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!

前端:

  1. axios
  2. .delete("http://localhost:8080/user/deleteUserByUid/"+deleteData.value.uid,
  3. )
  4. .then((response) => {
  5. console.log(response);
  6. })
  7. .catch((error) => {
  8. console.log(error);
  9. });

后端:

  1. @DeleteMapping("/deleteUserByUid/{uid}")
  2. public void delete(@PathVariable("uid") String uid){
  3. System.out.println("接收的uid="+uid);
  4. usersService.deleteUserById(Integer.parseInt(uid));
  5. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/981248
推荐阅读
相关标签
  

闽ICP备14008679号