HttpMessageNotReadableException: Required request body is missing:

完整错误:

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)

HttpMessageNotReadableException: Required request body is missing:_第1张图片

HttpMessageNotReadableException: Required request body is missing:_第2张图片

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

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

正确改法:

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

HttpMessageNotReadableException: Required request body is missing:_第3张图片

HttpMessageNotReadableException: Required request body is missing:_第4张图片 

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

源码如下:

@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 "注册成功";
    }

}

 希望有帮助!!!

你可能感兴趣的:(java,postman,spring,boot)