@DeleteMapping使用@RequestBody注解获得不了前端异步请求delete提交的请求体
前端异步请求代码
后端controller代码
前端控制台报错信息
后端错误信息
WARN 13448 --- [p-nio-80-exec-9] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public com.example.controller.util.Result com.example.controller.BrandController.deleteByIds(java.util.List<java.lang.Integer>)]
报这个异常是因为deleteMapping你传参数的时候它放到了url路径上,但是你的接收方式却是@RequestBody从请求体里获取。但是deleteMapping也是可以从请求体获取的,如果你非要加@RequestBody,就把数据放到请求体里,而且集合的json格式是[1, 2, 3]而不是{ "ids": []}
那就不要用deleteMapper呀😂😂
你自己用接口工具测试,接口应该是没有问题的,我删除多个的接口也是这样写的。参数是json数据,是不是前端发请求发的不是json
浏览器和postman还是有点不同的,像get delete你在postman的时候,body带数据也是会传过去的,浏览器就标准多了,只走url,获取请求体直接就报错了