完整错误:

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

}

 希望有帮助!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐