在Jersey 2中,可以执行以下操作:

@GET
@PATH("user/{email}")
public IDto getUser(@NotNull @Email @PathParam("email") String validEmail) {
    return userManagementService.findUserByEmail(validEmail);
}

但是我无法做出类似于在Spring MVC中工作的操作,似乎仅在@RequestBody中提供对象或使用SpringMVC Form时才进行验证,例如以下操作无效:
@RequestMapping(value="/user/{email}", method = RequestMethod.GET)
public @ResponseBody IDto getUser(@NotNull @Email @PathVariable String validEmail) {
    return userManagementService.findUserByEmail(validEmail);
}

还有其他类似的问题,但这些问题似乎是针对Spring MVC UI应用程序的,在我的情况下,这只是一个REST API,它返回JSON响应,因此我没有任何要映射/绑定(bind)到 Controller 的 View 。

最佳答案

似乎可以使用@Validated

这是一个example

09-25 21:16