0 0

RESTEasy - 当@Path注释在接口上时资源类注册失败5

环境:RESTEasy 2.0.1.GA, Jboss 4.3.0.GA
接口定义如下:
@Path("/")
public interface SiteBuilderRestfulService {
    @GET
    @Path("accounts/{email}")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public Account getAccountInfo(@PathParam("email") String email) throws Exception;
}

当在web.xml配置resteasy.scan=true时工作正常。但是与Spring集成后必须要置为flase,现在的web.xml如下:
<web-app>
    <display-name>Archetype RestEasy Web Application</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/applicationContext.xml</param-value>
    </context-param>    
    <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.cwind.rest.CwindRestfulServiceImpl</param-value>
    </context-param>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

得到错误信息:
2014-02-20 18:10:23,303 ERROR [org.apache.catalina.core.ContainerBase]   Exception sending context initialized event to listener instance of class org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.RuntimeException: Class is not a root resource.  It, or one of its interfaces must be annotated with @Path: com.cwind.rest.CwindRestfulServiceImpl implements: com.cwind.rest.CwindRestfulService

错误提示显示我的资源类或其接口上缺少@Path注释;把注释直接加在CwindRestfulServiceImpl 类上却工作正常。Google了一下发现了一个类似的问题解决方案http://pilhuhn.blogspot.com/2011/06/seemingly-common-resteasy-error-and.html,需要加一个@ApplicationPath注释,但是我的接口定义在第三方包中,不能修改。请问对此问题有何建议,谢谢!
2014年2月20日 19:05
目前还没有答案

相关推荐

    RESTEasy @path 与正则表达式映射

    `@Path` 注解通常用在类或方法上,用来指定资源的 URI 模式。当与正则表达式结合时,可以匹配多种不同的请求路径,从而处理不同格式的数据。例如,我们可以创建一个服务来处理所有以数字结尾的路径: ```java @Path...

    resteasy-jaxrs-2.2 学习整理的例子

    标题 "resteasy-jaxrs-2.2 学习整理的例子" 暗示了我们即将探讨的是关于RESTful服务开发的一个案例,其中涉及到的主要技术是RESTEasy和JAX-RS 2.2。RESTEasy是Java EE平台上的一个开源框架,它实现了Java API for ...

    resteasy-jaxrs-2.3.2官方jar包

    比如,`@Path("/users")`定义了一个处理/users路径的类,而`@GET`和`@Path("/{id}")`定义了一个处理GET请求并接收用户ID作为路径参数的方法。 4. **消息体处理器(Message Body Providers)**:RESTEasy支持多种...

    resteasy-jaxrs-2.3.4.Final-all开发包

    在"压缩包子文件的文件名称列表"中提到的"resteasy-jaxrs-2.3.4.Final"可能包含以下内容: 1. **JAR文件**:包含Resteasy的实现代码和所需的类库。 2. **文档**:如API文档、用户指南等,帮助开发者理解和使用框架...

    resteasy-jaxrs-2.2.1.GA-src官方源码

    5. 注解驱动:通过使用如`@Path`, `@GET`, `@POST`等注解,开发者可以快速声明RESTful资源及其操作。 6. 模块化设计:Resteasy由多个模块组成,如核心模块、客户端模块、测试模块等,可以根据需求选择性地使用。 7. ...

    resteasy-jaxrs-2.3.6.Final-all

    Resteasy-jaxrs-2.3.6.Final-all是一个重要的软件组件,它在Java世界中扮演着关键的角色,特别是对于开发基于RESTful服务的应用程序。这个组件是JBoss组织对JAX-RS(Java API for RESTful Web Services,JSR 311)...

    Netty-Resteasy-Spring

    @Path,标注资源类或方法的相对路径 @GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型 @Produces,标注返回的MIME媒体类型 @Consumes,标注可接受请求的MIME媒体类型 @PathParam,@QueryParam,@...

    resteasy-jaxrs-2.3.2 源码

    1. **资源类(Resource Classes)**:在Resteasy中,开发者通过简单的注解(如`@Path`)将Java类转换为RESTful服务的端点。这些类定义了HTTP操作(GET、POST、PUT等)以及它们处理的URI路径。 2. **提供者...

    resteasy jar包

    2. **资源类**:通过在Java类上使用`@Path`注解,我们可以将类映射到URL路径,然后在方法上使用`@GET`、`@POST`等注解来处理不同的HTTP操作。这样,一个简单的Java类就能成为一个完整的REST服务。 3. **消息提供者*...

    resteasy-reference-guide-en-US

    - **升级RESTEasy**:在JBoss AS7中升级RESTEasy时需要注意版本兼容性。 - **配置**:可以通过配置文件或编程方式来设置RESTEasy的行为,比如启用或禁用特定的功能、调整默认行为等。 - **作为ServletContext监听器*...

    resteasy-base-atom-provider-3.0.6-4.el7.noarch.rpm

    离线安装包,亲测可用

    resteasy-spring-boot:RESTEasy Spring Boot Starter

    这个Git仓库只会在历史上保留。 那里没有RESTEasy Spring Boot启动程序,因此PayPal团队决定创建一个启动程序并与社区共享。 该Spring Boot启动器具有完整的功能,上面具有ZERO PayPal特定的代码,并且可以由希望...

    resteasy-reference-guide-en-US.pdf

    例如,在JBoss AS 7、JBoss EAP 6.1以及Wildfly上升级RESTEasy的步骤被逐一列出,包括如何在这些服务器中配置RESTEasy模块。对于Servlet 3.0及更老版本的容器,指南也提供了独立运行RESTEasy的方法,并列出了各种...

    resteasy-jackson-provider-3.0.7.Final.jar

    java运行依赖jar包

    resteasy-base-jackson-provider-3.0.6-4.el7.noarch.rpm

    离线安装包,亲测可用

    resteasy-client-3.0.7.Final.jar

    java运行依赖jar包

    resteasy-jaxb-provider-3.0.7.Final.jar

    java运行依赖jar包

    resteasy使用netty

    4. 注册REST资源:通过使用@Provider和@Path注解,定义RESTful服务的接口和实现。 5. 启动服务器:调用Netty的bind方法,启动服务器并监听指定端口。 这种架构的优势在于,它允许我们构建一个快速、轻便的REST服务...

    resteasy-3.0.26-6.module_el8.4.0+595+e59c9af2.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    resteasy-netty-sample:Resteasy-Netty项目样本

    这是一个示例应用程序,通过RestEasy-Netty 3公开了REST API。 此外,此示例应用程序还展示了如何将... 在linux上,运行: ./bin/resteasy-netty-sample start停止在linux上,运行: ./bin/resteasy-netty-sample stop

Global site tag (gtag.js) - Google Analytics