Seam + RESTeasy无法正常工作

时间:2014-08-11 23:14:21

标签: java seam resteasy

我正在尝试做一个简单的休息服务,遵循几个教程和文档但没有任何效果。 主要是http://docs.jboss.org/seam/2.1.1.GA/reference/en-US/html/webservices.html#d0e21523

我有一个用Seam实现的整个系统,所以我需要在我们的rest API中重用很多东西。

我在web.xml中有以下内容:

<servlet>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
  </servlet>
<servlet-mapping>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <url-pattern>/seam/resource/*</url-pattern>
  </servlet-mapping>

我的班级看起来像这样:

  @Name("loginApi")
    @Path("/loginapi")
    @Scope(ScopeType.STATELESS)
    public class TestApi {

        @POST
        @Path("/test")
        @Produces("plain/text")
        public String test(){
            return "test ok";

        }

    }

根据文档,RESTeasy无需执行任何其他操作。 但是,如果我去

http://example.com/app/seam/resources/rest/testapi/test

我只收到'未找到资源'。

更新

我可以通过添加

来实现它
<servlet>
      <servlet-name>Resteasy</servlet-name>
      <servlet-class>
        org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
      </servlet-class>
   </servlet>

   <context-param>
      <param-name>resteasy.servlet.mapping.prefix</param-name>
      <param-value>/rest</param-value>
   </context-param>
<servlet-mapping>
      <servlet-name>Resteasy</servlet-name>
      <url-pattern>/rest/*</url-pattern>
   </servlet-mapping>       

   <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>path.to.my.class</param-value>
    </context-param>

现在该服务响应,但它让我“懒得初始化角色集合”

我和泽西岛有同样的问题,那就是乳清,我感动不已。所以我处在一个循环中。

1 个答案:

答案 0 :(得分:0)

您应该使用http://example.com/app/seam/resource/rest/testapi/test

访问它

我认为不是seam/resources/rest,应该是seam/resource/rest,来自您的SeamResourceServlet网址格式