HttpMessageNotReadableException: Required request body is missing:
Required request body is missing.@notnull使用
·
完整错误:
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 "注册成功"; } }
希望有帮助!!!
更多推荐
已为社区贡献3条内容
所有评论(0)