Jersey / JAX-RS资源方法输入beanvalidation

我通过DropWizard 0.7.1使用Jersey / JAX-RS来公开RESTful服务端点。 我的所有实体POJO都注释了JAX-RS和Hibernate / JSR-303 beanvalidation注释,如下所示:

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 Validation注释validation它:

 @POST Response saveWidget(@PathParam("widget") Widget widget) { // Does DropWizard or Jersey have something built-in to automagically validate the // 'widget' instance? } 

可以将DropWizard / Jersey配置为validation我的widget实例,而不必在此处编写任何validation代码吗?

@PathParam之前添加@Valid以validationJersey。

请参阅https://jersey.java.net/documentation/latest/bean-validation.html#d0e12201

您可能需要进行一些配置。