有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Guice、Jetty、Jersey+Jackson BIG PLUS:Bean验证

我在堆栈中使用guice、jetty、jersey+jackson来运行restful应用程序。它工作得很好

然后,我尝试添加Jersey的Bean验证,但没有收到任何错误和警告。。。没有验证。我读过很多文章,但没有一篇对我有所帮助

这是我的运动衫配置模块:

public class JerseyConfigModule extends ServletModule {
    @Override
    protected void configureServlets() {
        Map<String, String> initParams = new HashMap<String, String>();
        initParams.put("com.sun.jersey.api.json.POJOMappingFeature", "true");

        bind(GuiceContainer.class);

        Set<Class<?>> classes=new ResourceConfig().property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE,true).getClasses();
        for (Class<?> aClass : classes) {
            bind(aClass);
        }

        serve("/rest/*").with(GuiceContainer.class, initParams);
    }
}

我的球衣资源:

@Path("/user")
public class UserResource {
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response post(@Valid StoreUserDTO user){
    }
}

在另一个GUI模块中,我绑定此资源:

bind(UserResource.class);

参数中使用的Bean:

public class StoreUserDTO {
    @NotNull
    private String name;
    @NotNull
    private String email;

    public String getName() {
        return name;
    }

    public String getEmail() {
        return email;
    }
}

我使用jersey guice和glassfish的jersey bean验证(我想要这个):

    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-guice</artifactId>
        <version>1.19</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-bean-validation</artifactId>
        <version>2.22.1</version>
    </dependency>

我忘了什么?我发现很多例子都不适用于Jersey 2,或者不适用于Jersey 1

是的,我知道Jersey正式支持bean验证,但是在官方文档中,我没有找到任何关于如何与Guice集成的信息


共 (0) 个答案