草庐IT

HttpMessageNotReadableException: Required request body is missing:

Bug_Collector 2023-10-03 原文

完整错误:

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public java.lang.Object com.example.sx.study.Econtroller.test1(com.example.sx.study.Entity,org.springframework.validation.BindingResult)]

解决办法:

在@RequestBody后加上(required = false)

虽然通过此方法的确返回了信息 ,但是还是存在问题的。

写该类的目的是为了对于请求体(request body)传来参数进行校验,这种改法根本起不了作用。

正确改法:

打开postman,在Body中填入需要验证的数据。 

 

这样才能达到参数检验的效果。

源码如下:

@Data
public class Entity{
    @NotNull(message = "姓名不能为null")
    private String name;

    @Min(value = 30,message = "年龄最小为30")
    private Integer age;

    private Integer password;

    private String sex;
}
@RestController
public class Econtroller {
    @RequestMapping("test1")
    public String test1(@Valid @RequestBody Entity entity, BindingResult result){

        if (result.hasErrors()){
            String defaultMessage = result.getFieldError().getDefaultMessage();
            return defaultMessage;
        }
        System.out.println(entity);
        return "注册成功";
    }

}

 希望有帮助!!!

有关HttpMessageNotReadableException: Required request body is missing:的更多相关文章

  1. HttpMessageNotReadableException: Required request body is missing: - 2

    完整错误:Resolved[org.springframework.http.converter.HttpMessageNotReadableException:Requiredrequestbodyismissing:publicjava.lang.Objectcom.example.sx.study.Econtroller.test1(com.example.sx.study.Entity,org.springframework.validation.BindingResult)]解决办法:在@RequestBody后加上(required=false)虽然通过此方法的确返回了信息,但是还

  2. HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.List - 2

     今天与到一个报错,分享一下这个报错的解决方案,都是自己学的太浅的原因导致卡了半个小时如图:在Post请求的过程中,前端是一个JSON对象以请求体的形式传到了后端,而后端是以一个列表接收,这样导致的问题就是接收的不是一个对象在Post请求想要接收请求体的数据必须以对象的方式接收参数,因为前端的Json对象转为对象后的请求体是以“ {  } ”包括起来的,自然后端必须是以一个对象的方式来接收方案一:使用自定义对象接收请求体参数自定义对象Controller层打印数据 方案二:使用Map键值对接收参数Map键值对是一个比较常用而简单的接收前端参数,不用自定义对象Controller层打印数据方案三

  3. HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.List - 2

     今天与到一个报错,分享一下这个报错的解决方案,都是自己学的太浅的原因导致卡了半个小时如图:在Post请求的过程中,前端是一个JSON对象以请求体的形式传到了后端,而后端是以一个列表接收,这样导致的问题就是接收的不是一个对象在Post请求想要接收请求体的数据必须以对象的方式接收参数,因为前端的Json对象转为对象后的请求体是以“ {  } ”包括起来的,自然后端必须是以一个对象的方式来接收方案一:使用自定义对象接收请求体参数自定义对象Controller层打印数据 方案二:使用Map键值对接收参数Map键值对是一个比较常用而简单的接收前端参数,不用自定义对象Controller层打印数据方案三

随机推荐