我通过DropWizard 0.7.1使用Jersey / JAX-RS来公开RESTful服务端点。我的所有实体POJO都注释了JAX-RS和Hibernate / JSR-303 bean验证注释,如下所示:
public class Widget {
@JsonProperty("fizz")
@NotNull
@NotEmpty
private String fizz; // Can't be empty or null
@JsonProperty("buzz")
@Min(value=5L)
private Long buzz; // Can't be less than 5
// etc.
}
当资源方法接收其中一个POJO作为输入时(在引擎盖下,DropWizard已经将HTTP实体JSON反序列化为Widget
实例),我想根据Hibernate / Bean验证注释验证它:
@POST
Response saveWidget(@PathParam("widget") Widget widget) {
// Does DropWizard or Jersey have something built-in to automagically validate the
// 'widget' instance?
}
可以将DropWizard / Jersey配置为验证我的widget
实例,而无需在此处编写任何验证码吗?
答案 0 :(得分:9)
在@Valid
之前添加@PathParam
以验证泽西岛。
请参阅https://jersey.java.net/documentation/latest/bean-validation.html#d0e12201
您可能需要进行一些配置。