犯了个低级错误,如果各位遇到了,能为大家节省时间
写习惯前后端分离的项目后,一直用axios发json数据,而用表单之间提交数据发现竟然报415错误,结果是因为我多加了@RequestBody注解
错误提示
{
"timestamp": "2022-05-12T11:00:51.349+0000",
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type 'multipart/form-data;boundary=--------------------------271485777611895245402302;charset=UTF-8' not supported",
"path": "/hello/test4"
}
出错的方法
@PostMapping("/test4")
public Admin test4(@RequestBody Admin admin){
System.out.println(admin);
return admin;
}
postman测试结果
文章来源:https://www.toymoban.com/news/detail-514703.html
原因及解决办法
加了 @RequestBody注解后 ,只能解析json类型的数据,而在postman中测试发送的请求Content-Type类型是 multipart/form-data; 所以才导致了这个错误,我们只需删除@RequestBody注解即可正常请求。文章来源地址https://www.toymoban.com/news/detail-514703.html
总结
@PostMapping("/test1")
public String test1(@RequestParam("username") String username,@RequestParam("password") String password){
System.out.println(username);
System.out.println(password);
return "success";
}
@PostMapping("test2")
public String test2(HttpServletRequest request, HttpServletResponse response){
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
System.out.println(password);
return "success";
}
// 会自动封装数据 可以接受json格式数据且不会报错,但数据无法封装进去
@PostMapping("/test3")
public Admin test3(Admin admin){
System.out.println(admin);
return admin;
}
// 会解析json数据并封装
@PostMapping("/test4")
public Admin test4(@RequestBody Admin admin){
System.out.println(admin);
return admin;
}
到了这里,关于Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘multipart/form-d的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!