`

RESTEasy 系列 Chapter 4 使用 @Path and @GET, @POST, 等

 
阅读更多

 

@Path("/library")
public class Library {
 
    @GET
    @Path("/books")
    public String getBooks() {...}
 
    @GET
    @Path("/book/{isbn}")
    public String getBook(@PathParam("isbn") String id) {
        // search my database and get a string representation and return it
    }
 
    @PUT
    @Path("/book/{isbn}")
    public void addBook(@PathParam("isbn") String id, @QueryParam("name") String name) {...}
 
    @DELETE
    @Path("/book/{id}")
    public void removeBook(@PathParam("id") String id {...}
 
 
}

 

 

比方说,如果你拥有Resteasy的servlet配置并且得到一个根路径http://myhost.com/services。

 

Library类的请求将被处理:

  • GET http://myhost.com/services/library/books
  • GET http://myhost.com/services/library/book/333
  • PUT http://myhost.com/services/library/book/333
  • DELETE http://myhost.com/services/library/book/333

@javax.ws.rs.Path注解必须存在于类和/或资源方法。如果类和方法都存在,这个资源方法的相对路径是连接类和方法。

在@javax.ws.rs包注解的每个HTTP方法,@GET, @POST, @PUT, @DELETE, 和 @HEAD。你可以将这些公共方法映射到某些想要的HTTP方法。只要有一个@Path注解在类上,你要映射的方法不用再有@Path注解。你可以有一个以上的HTTP方法,只要它们能区别于其它的方法。

当你有一个@Path注解的不是HTTP的方法,它们被叫做JAXRSResourceLocators。

 

4.1. @Path和正则表达式映射

 

@Path 注解不限于简单的路径表达式。你也能够插入正则表达式到@Path的value。示例:

 

@Path("/resources)
        public class MyResource {
 
        @GET
        @Path("{var:.*}/stuff")
        public String get() {...}
        }

 

 

下面的GET方法将路由到getResource()方法:

GET /resources/stuff
GET /resources/foo/stuff
GET /resources/on/and/on/stuff

 

表达式的格式是:

"{" variable-name [ ":" regular-expression ] "}"
 

正则表达式部分是可选的。当表达式不提供时,它默认为一个通配符匹配特定的部分。在正则表达式条件下,这个表达式默认为是:

 

"([]*)"

 

 

示例:

@Path("/resources/{var}/stuff")

将匹配它们:

 

GET /resources/foo/stuff 
GET /resources/bar/stuff

 

 

但是不能匹配:

GET /resources/a/bunch/of/stuff

 

 

 

 

 

分享到:
评论

相关推荐

    RESTEasy @path 与正则表达式映射

    4. **错误处理**:如果没有匹配到任何 `@Path` 注解,RESTEasy 将返回 404 Not Found 错误。你可以自定义错误处理器来处理这种情况。 5. **路径前缀**:有时,我们可能希望在所有资源路径前添加一个公共前缀。这...

    RestEasy简介

    它定义了一系列注解,如`@Path`、`@GET`、`@POST`等,使得开发者能够用面向对象的方式定义资源和操作。RestEasy是JAX-RS规范的实现之一,它提供了丰富的功能集来支持RESTful服务的开发。 ### RestEasy核心特性 1. ...

    Spring整合RestEasy示例工程源码

    - **创建REST服务**:定义REST接口和实现,使用RestEasy的注解如`@Path`、`@GET`、`@POST`等。 - **注册服务**:在Spring配置中注册REST服务的实现,确保它能在Spring容器中被管理。 - **测试**:编写测试用例,验证...

    resteasy使用netty

    RestEasy与Netty结合使用,可以构建高性能的RESTful服务,摆脱传统的Servlet容器如Tomcat的依赖。RestEasy是JBoss公司开发的一个Java框架,它实现了JSR 311和JSR 339(Java API for RESTful Web Services)标准,...

    RESTEasy实现上传下载文件

    使用JAX-RS注解,如`@Path`、`@POST`、`@GET`等,定义文件上传和下载的接口。例如,我们可以创建一个名为`FileResource`的类,包含`uploadFile`和`downloadFile`方法: ```java @Path("/files") public class ...

    使用RESTEasy构建WebService简介

    资源类通常会使用`@Path`注解来定义访问路径,使用`@GET`、`@POST`、`@PUT`、`@DELETE`等注解来定义资源的方法。 RESTEasy还支持拦截器的使用,比如servletFilter可以在请求到达具体的服务类之前对其进行预处理。...

    resteasy实例demo

    4. **HTTP方法映射**:RestEasy支持HTTP的GET、POST、PUT、DELETE等方法。使用`@GET`、`@POST`等注解,可以将这些HTTP方法映射到类中的方法,从而处理特定类型的请求。例如,`@GET`注解的函数会处理GET请求。 5. **...

    resteasy开发手册

    例如,如何使用@Path注解来定义资源路径,@GET、@POST等注解来指定HTTP方法,以及如何处理路径参数(@PathParam)、查询参数(@QueryParam)、请求头(@HeaderParam)等。在资源链接方面,手册描述了如何使用Link headers...

    restEasy 学习总结,附带源码

    1. **REST 资源类**:这些类通常使用 `@Path` 注解来定义资源路径,并用 `@GET`, `@POST`, `@PUT`, `@DELETE` 等注解来标识 HTTP 方法。例如: ```java @Path("/example") public class ExampleResource { @GET ...

    resteasy2.2.1官方jar包

    9. **文档生成**:Resteasy可以与Swagger等工具结合,自动生成REST API的文档,方便开发者理解和使用服务。 10. **测试工具**:为了简化测试,Resteasy提供了一套测试框架,允许开发者在不部署到服务器的情况下测试...

    Netty-Resteasy-Spring

    Resteasy + Spring + Netty sample Inject resteasy provider / controllers as spring bean Authentication Run at Main.java Test http://localhost:8082/resteasy/hello/world 教程 jax-rs规范用法: ...

    resteasy jar包

    1. **API支持**:Resteasy 2.1 GA遵循JAX-RS 1.1规范,提供了一组用于创建REST服务的注解,如`@Path`、`@GET`、`@POST`、`@QueryParam`等,这些注解使得代码更加简洁且易于理解。 2. **资源类**:通过在Java类上...

    resteasy helloworld demo

    在这个“resteasy helloworld demo”中,我们将探索如何使用 RESTEasy 创建一个简单的 REST 服务。首先,我们需要确保我们的开发环境已经配置了 Java 和 Maven,因为 RESTEasy 是基于这两个工具进行构建和运行的。 ...

    resteasyDemo

    RestEasy框架与JAX-RS(Java API for RESTful Web Services)标准兼容,提供了方便的注解,如`@Path`、`@GET`、`@POST`等,使得开发者可以快速地在Java类和方法上声明REST服务。例如,`@Path`注解用于指定服务的URL...

    resteasy-reference-guide-en-US

    #### 使用`@Path`和`@GET`, `@POST`等注解 RESTEasy通过`@Path`注解来指定资源路径,并结合`@GET`, `@POST`, `@PUT`, `@DELETE`等HTTP方法相关的注解来实现资源的不同操作。例如: ```java @Path("/users") public...

    RESTEasy之返回JSON数据格式

    然后,可以使用`@GET`、`@POST`等HTTP方法注解来处理请求。为了返回JSON,可以使用`@Produces("application/json")`注解指定响应的MIME类型。 ```java @Path("/api") @Produces("application/json") public ...

    resteasy参考文档及jar包

    1. **JAX-RS兼容性**:RESTEasy是JAX-RS规范的实现者,这意味着你可以使用JAX-RS定义的注解(如`@Path`, `@GET`, `@POST`, `@PUT`, `@DELETE`等)来创建RESTful服务。 2. **注解驱动**:通过在类和方法上使用注解,...

    RESTEasy 入门实例

    在本入门实例中,我们将探讨如何使用 RESTEasy 搭建并运行一个简单的 RESTful Web 服务。首先,你需要安装并配置好 Java Development Kit (JDK),以及 Maven(一个项目管理工具)来管理依赖。接着,我们需要创建一个...

    resteasy-jaxrs-2.3.2官方jar包

    4. **消息体处理器(Message Body Providers)**:RESTEasy支持多种数据格式,如JSON、XML、Plain Text等。消息体处理器负责在请求和响应之间转换数据。例如,`JacksonProvider`可以处理JSON数据,而`JAXBProvider`...

    使用 RestEasy 和 Apache Tomcat 构建 RESTful Web 服务

    在Java类中,可以使用`@Path`注解来指定URL路径,使用`@GET`、`@POST`等注解来映射HTTP方法。例如: ```java @Path("/hello") public class HelloWorldResource { @GET @Produces(MediaType.TEXT_PLAIN) public...

Global site tag (gtag.js) - Google Analytics