【发布时间】:2017-03-06 07:04:48
【问题描述】:
我正在尝试将带有@RepositoryRestResource 注释的Spring Data REST 存储库与自定义方法实现一起使用。
有两种情况:
1) 我的 REST 存储库使用 @RepositoryRestResource 注释,它映射到 /users 端点。另外,我有@RestController,它映射到同一个端点。 这会导致 @RepositoryRestResource 中的方法(应该公开)不可见,并在它们上得到 405 结果。 但是使用 @Valid 注释的方法验证正在处理 @RestController 方法。例如这行得通:
@ResponseBody
@RequestMapping(value = "/users")
public ResponseEntity signUp(@RequestBody @Valid final UserSignUpRequest userSignUpRequest)
2) 与 REST 存储库一起工作的控制器是 @RepositoryRestController 控制器。这样@RepositoryRestController 和@RepositoryRestResource 中声明的两种方法都可以正常工作。但是方法上的JSR-303 @Valid 注释停止工作,所以我不能使用@Valid 注释。这个问题已经在DATAREST-593进行了描述。
任何想法如何解决两个问题中的至少一个?主要思想是使用@RepositoryRestResource 存储库以及自定义控制器方法和注释验证。
【问题讨论】:
标签: java spring validation spring-mvc spring-data-rest