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
您可能需要进行一些配置。