当请求的属性与实体类型不同时,如何验证REST请求

时间:2018-05-09 03:35:47

标签: spring-boot spring-data-jpa spring-rest

我有一个textField.setOptions(TextField.MULTILINE | TextField.READ_ONLY); 注释来验证请求

@Valid

我的用户实体的密码为public ResponseEntity<User> register(@Valid @RequestBody User user) {} ,因为Byte[]在存储前已经过哈希处理。请求需要具有user.password的密码属性,当存储类型与传入请求不匹配时,如何使用String注释验证请求?

1 个答案:

答案 0 :(得分:1)

您可以编写自己的自定义验证器,并在User类的密码字段中使用它。然后,控制器方法中使用的@Valid注释将确保在获取值后立即运行自定义验证。当您使用Google custom validation spring时,您会看到很多示例。在这里引用其中一些:

  1. http://dolszewski.com/spring/custom-validation-annotation-in-spring/
  2. http://therealdanvega.com/blog/2017/05/01/add-validation-spring-entities
  3. http://www.baeldung.com/spring-mvc-custom-validator