Restful风格详解指南

Restful API

1. 是什么

简单来说就是用一系列约束来设计服务器端的接口,使我们通过接口就能大概知道该接口的功能

REST 是一组架构约束。

REST 约束包括:客户-服务器,无状态,缓存,统一接口,分层系统,按需代码。如果一个架构符合 REST 原则,就称它为 RESTful 架构。

2.资源

资源是对一组实体的概念的映射,不是实体本身。也可以简单理解为实体的别名。

一个资源具有一个或多个标识,这里的标识指统一资源标识符URI

例如URL(统一资源定位符):

https://www.sample.com/api/shops/10086 - 编号10086店铺的基本信息

https://www.sample.com/api/users/9527/orders - 编号9527用户的所有订单信息

  • 资源集合:
/zoos //所有动物园
/zoos/1/animals //id为1的动物园中的所有动物
12
  • 单个资源:
/zoos/1 //id为1的动物园
/zoos/1;2;3 //id为1,2,3的动物园

3. 使用标准的 HTTP 方法

RESTful API 使用标准的 HTTP 协议实现前后端的接口调用。对涉及到的资源,常用的操作就是增、删、改、查,类似对数据库记录的CRUD(Create,Read,Update,Delete)。使用的 HTTP 方法规则如下:

  • GET 查询 :GET /users/{userId}
  • POST 增加:POST /users
  • PUT 全量修改 :PUT /users/{userId} 即提供该用户的所有信息来修改
  • PATCH部分修改:PATCH /users/{userId} 只提供需要的修改的信息
  • DELETE删除 :DELETE /users/{userId}
  • HEAD 方法用于得到描述目标资源的元数据信息。
  • OPTIONS 请求用来确定对某个资源必须具有怎样的约束。

4. 安全性和幂等性

在讨论 RESTful API 接口设计时,会提到两个基本的特性:“安全性”和“幂等性”

**安全性是指调用接口不对资源产生修改。**可理解为只读(GET)

幂等性是指调用方法1次或N次对资源产生的影响结果都是相同的。

需要特别注意的是:这里幂等性指的是对资源产生的影响结果,而不是调用HTTP方法的返回结果。

猜你喜欢

转载自blog.csdn.net/qq_37795916/article/details/114632415