Apache - CXF jaxrs-server - 无法命中jaxrs-server端点中首先定义的资源

时间:2012-09-11 22:27:15

标签: apache rest cxf jax-rs

我正在使用Apache-CXF进行JAX-RS实现。我有两个资源,在两个bean中定义。我在context.xml中的jaxrs-server如下:

 <jaxrs:server id="serverId" address="/">
    <jaxrs:serviceBeans>
        <bean id="bean1" class="com.Bean1" />
        <bean id="bean2" class="com.Bean2" />
    </jaxrs:serviceBeans>
</jaxrs:server>

Bean1的接口如下 -

   @Path("/")
   public interface IBean1 {
    @GET
    @Path("/beaninfo1")
    @Produces({ MediaType.APPLICATION_XML })
    public Response checkBean1();
   }

Bean2的接口如下 -

   @Path("/")
   public interface IBean2 {
    @GET
    @Path("/beaninfo2")
    @Produces({ MediaType.APPLICATION_XML })
    public Response checkBean1();
   }

我无法点击serviceBans定义中最后定义的资源。在这种情况下,我能够击中Bean2而不是Bean1,得到404错误,就好像我先把Bean2放到Bean1那样,我只能点击Bean1。

我的配置有什么问题吗?

2 个答案:

答案 0 :(得分:2)

可以在班级拥有相同的@Path注释。您需要使用资源比较器。请查看此question

答案 1 :(得分:1)

是。在课程级别为他们提供不同的@Path注释。