官网地址

程序猿升级课

热爱开源,喜欢摸索


RESTful API 理解

RESTful API 设计

网络应用程序,分为前端和后端两个部分。前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。
因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流。

RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。一下是我理解的。

4279695-79b2d539b8a0ebb9.png
RESTful

1. 任何的程序设计,都会有迭代升级,所以就出现了问题一:版本号问题

应该将API的版本号放入URL

https://api.example.com/v1/
    
Github采用这种做法
https://developer.github.com/v3/media/#request-specific-version

2. 资源命名

在RESTful架构中,每个网址代表一种资源(resource),所有网址中不能有动词,只能有名词,</br>
而数据库中的名词往往与数据库中的表对应,一般来说,数据库中的表都是统种记录的‘集合’,</br>
所以API中名词也用应该用复数

3. 请求方式

一般我们使用的最多的请求方式就是get和post,既然我们遵守了RESTful那么我们最好也可以,</br>
在请求方式上也统一下。

常用的HTTP动词有五个,对应sql中命令

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。

4.例子

  • GET /zoos:列出所有动物园
  • POST /zoos:新建一个动物园
  • GET /zoos/ID:获取某个指定动物园的信息
  • PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
  • PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
  • DELETE /zoos/ID:删除某个动物园
  • GET /zoos/ID/animals:列出某个指定动物园的所有动物
  • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
posted @ 2017-02-08 10:22  chinesszz  阅读(81)  评论(0编辑  收藏  举报
ヾ(≧O≦)〃嗷~