RESTful Web 服务

常用 HTTP 动词的例子。

编号 HTTP 方法,URI 和操作
1 GET 
http://localhost:8080/UserManagement/rest/UserService/users 
获取用户列表 
(只读)
2 GET 
http://localhost:8080/UserManagement/rest/UserService/users/1 
获取 ID 为 1 的用户 
(只读)
3 PUT 
http://localhost:8080/UserManagement/rest/UserService/users/2 
插入 ID 为 2 的用户 
(幂等)
4 POST 
http://localhost:8080/UserManagement/rest/UserService/users/2 
更新 ID 为 2 的用户 
(N/A)
5 DELETE 
http://localhost:8080/UserManagement/rest/UserService/users/1 
删除 ID 为 1 的用户 
(幂等)
6 OPTIONS 
http://localhost:8080/UserManagement/rest/UserService/users 
列出 Web 服务所支持的操作 
(只读)
7 HEAD 
http://localhost:8080/UserManagement/rest/UserService/users 
只返回 HTTP 头,不返回 HTTP 体 
(只读)

JAX-RS 表示用于 RESTful Web 服务的 Java API。JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范。2.0 版本发布于 2013 年 5 月 24 日。从 Java SE 5 开始大量使用 JAX-RS 注释以简化基于 Java 的 Web 服务的创建和部署。它还为创建 RESTful Web 服务客户端提供支持。

规范

以下是影射某个资源为 Web 服务资源的常用注释:

编号 注释 & 描述
1 @Path 
资源类或方法的相对路径。
2 @GET 
HTTP Get 请求,用来提取资源。
3 @PUT 
HTTP PUT 请求,用来创建资源。
4 @POST 
HTTP POST 请求,用来创建或更新资源。
5 @DELETE 
HTTP DELETE 请求,用来删除资源。
6 @HEAD 
HTTP HEAD 请求,用来获取方法可用的状态。
7 @Produces 
由 Web 服务生成的 HTTP 响应,比如 APPLICATION/XML,TEXT/HTML,APPLICATION/JSON 等。
8 @Consumes 
HTTP 请求类型,比如 application/x-www-form-urlencoded 在 POST 请求期间在 HTTP 体中接受表单数据。
9 @PathParam 
绑定传递给方法的参数为路径中的某个值。
10 @QueryParam 
绑定传递给方法参数为路径中的某个查询参数。
11 @MatrixParam 
绑定传递给方法参数为路径中的某个 HTTP 矩阵参数。
12 @HeaderParam 
绑定传递给方法的参数为 HTTP 头。
13 @CookieParam 
绑定传递给方法的参数为某个 Cookie。
14 @FormParam 
绑定传递给方法的参数为某个表单值。
15 @DefaultValue 
给传递给方法的参数分配一个默认值。
16 @Context 
资源上下文,比如将 HTTP 请求作为上下文。

这里是要考虑的要点:

  • GET 操作是只读且安全的。
  • PUT 和 DELETE 操作是幂等的意味着它们的结果总是相同的,无论这个操作被调用多少次。
  • PUT 和 POST 操作几乎是相同的,区别在于 PUT 操作的结果是幂等的,而 POST 操作会导致不同的结果。

猜你喜欢

转载自www.cnblogs.com/spilzer/p/9481831.html