HTTP错误码和出现场景

HTTP错误码和出现场景

405

"error": "Method Not Allowed",
"message": "Request method 'GET' not supported",

场景:

当发布的服务不支持当前请求形式的时候就会报405错误。比如上面这个错误是由于我通过Spring Boot发布了的服务是post的形式,而我请求的方式是get。

400

"error":"Bad Request",
"message":"Required String parameter 'name' is not present",

场景:

由于语法格式有误,服务器无法理解此请求。比如上面的错误就是我使用springboot发布了一个服务:

@RequestMapping(value = "/adduser", method = RequestMethod.POST)
@ResponseBody
public User addUser(@RequestParam("name") String name, @RequestParam("age") Integer age) {
  User user = new User();
  user.setName(name);
  user.setAge(age);
  return userRep.save(user);
}

在前台通过json格式发送数据导致的。因为@RequestParam是接收表单数据的,无法识别前台发来的json格式。

Content-Type: application/json

{
    "name": "name",
    "age" : 12
}

换成表单格式就可以请求成功了。

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBRi81vNtMyBL97Rb

------WebKitFormBoundaryBRi81vNtMyBL97Rb
Content-Disposition: form-data; name="name"

name1
------WebKitFormBoundaryBRi81vNtMyBL97Rb
Content-Disposition: form-data; name="age"

12
------WebKitFormBoundaryBRi81vNtMyBL97Rb--

415

"error":"Unsupported Media Type",
"message":"Content type 'multipart/form-data;boundary=----WebKitFormBoundaryOTm4oeTbegDmbXAx;charset=UTF-8' not supported"

场景:

不支持的媒体类型。上面的错误是用springboot发布的服务,不支持表单形式的数据。

@RequestMapping(value = "/adduser", method = RequestMethod.POST)
@ResponseBody
public User addUser(@RequestBody User user) {
  return userRep.save(user);
}
    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000014992563
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞