【问题标题】:Jersey/JAX-RS resource method input bean validationJersey/JAX-RS 资源方法输入 bean 验证
【发布时间】:2015-02-07 23:25:16
【问题描述】:

我通过 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 Validation 注释对其进行验证:

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

是否可以将 DropWizard/Jersey 配置为验证我的 widget 实例,而无需我在此处编写任何验证代码?

【问题讨论】:

    标签: java jersey jax-rs bean-validation dropwizard


    【解决方案1】:

    @PathParam 之前添加 @Valid 以使用 Jersey 进行验证。

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

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

    【讨论】:

    • 感谢@Adam (+1) - 这正是我一直在寻找/希望的。只是好奇,我可能需要做什么样的一般配置?再次感谢!
    猜你喜欢
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 2011-04-22
    • 2015-05-05
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多