代码改变世界

RESTful Web 服务

  shadowsky88  阅读(366)  评论(0编辑  收藏  举报

 

常用 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 操作会导致不同的结果。
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示