RESTful Web Service

爱被打了一巴掌 2022-07-13 07:38 554阅读 0赞

1、REST是什么

  1. Roy Thomas Fielding博士2000年提出的
  2. REST是英文Representational State Transfer的缩写
  3. 表象化状态转变 或者表述性状态转移
  4. REST是Web服务的一种架构风格
  5. 使用HTTP、URI等广泛流行的标准和协议
  6. 轻量级、跨平台、跨语言的架构设计。

2、REST到底是什么

  1. REST是一种设计风格。它不是一种标准,也不是一种软件,而是一种思想
  2. REST通常基于使用HTTP,URI,和XML,JSON以及HTML这些现有的广泛流行的协议和标准。

3、RESTful是什么

  1. RESTful对应的中文是 REST式的。
  2. RESTful Web Service是一种常见的REST的应用,是遵守了REST风格的web服务。
  3. REST式的web服务是一种ROA(面向资源的架构)

4、REST 架构的主要原则

  • 网络上的所有事物都可被抽象为资源(Resource)
  • 每个资源都有一个唯一的资源标识符(Resource Identifier)
  • 同一资源具有多种表现形式(xml、json等)
  • 对资源的各种操作不会改变资源标识符
  • 所有的操作都是无状态的(Stateless)
  • 符合REST原则的架构方式即可称为RESTful

5、无状态性

  • 无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前 Request,而不必了解前面 Request 的历史。
  • 从而可以更容易地释放资源。
  • 让服务器充分利用 Pool 技术来提高稳定性和性能。

6、资源操作

  • http://example.com/users/

    1. ** GET 获取一个资源 **

POST : 创建一个新的资源

PUT : 修改一个资源的状态

DELETE :删除一个资源

  • 资源展现

    1. XML
    2. JSON
    3. …......

7、REST接口定义

  1. ![20161230201217661][]

8、最佳实践:REST接口设计

  • URL的组成
  1. 网络协议(http、https)
  2. 服务器地址
  3. 接口名称
  4. ?参数列表

    • URL定义限定
  5. 不要使用大写字母

  6. 使用中线 - 代替下划线 _
  7. 参数列表应该被encode过

9、最佳实践:响应设计

  • Content body 仅仅用来传输数据。
  • 数据要做到拿来就可用的原则,不需要“拆箱”的过程。
  • 用来描述数据或者请求的元数据放Header中,例如 X-Result-Fields。

10、响应示例

  1. ![20161230201518059][]

11、指定响应的属性字段

  1. ![20161230201607529][]

12、http响应状态码

  1. ![20161230212749709][]

发表评论

表情:
评论列表 (有 0 条评论,554人围观)

还没有评论,来说两句吧...

相关阅读