【你想要知道的REST API】3. 设计和构建REST API

101 阅读2分钟

今天的笔记是我学习REST API的第三天的笔记,记录以及分享给大家,如有错误,欢迎评论区指正和批评。

一、规划REST API

1. 了解为什么要构建一个API

  • 这个API是给哪些目标用户所使用;
  • 想要他们访问那些产品、服务和数据;
  • 与API整合需要哪些技术和系统。

2. 列出API的用户功能

  • 列出API需要做到的事情;
  • 从此列表中构建用户的使用情景;
  • 分配工作,并以此创建需要做的待办事项列表。

3. 确定构建的API类型

是REST API吗?还是基于SOAP,RPC等。

4. 构建API初始路线图

为API指定长期的规划和方向,且路线图可以随时进行更改。

二、REST API的身份认证方式

建议使用SSL和TLS

REST API的身份认证方式有四种方法

1. HTTP基础认证

在JavaSCript中,使用REST API处理身份认证的最简单的方式是使用HTTP基础认证,它在每次API调用时发送用户名和密码。

2. API密钥认证

这为开发者创建了唯一的密钥,并且将它们与每个请求一起传递。API生成一个密钥,这个密钥是由一段很长且难以猜测的字母和数字组成。

3. oAuth认证

oAuth即Open Authorization,开放授权,它会在API所有者和服务之间自动协调批准,还可以授权开发者自行获取访问权限。

4. 无认证

不推荐,但是有时候仅用于内部API

无认证可以向特定的URL发出请求并获得响应,而无需API密钥或者任何凭证。

三、构建REST API

  1. 创建一个项目目录,如project1
  2. 在project1内创建源目录,即src
  3. 在src内创建版本目录v1,以方便版本控制和管理;
  4. v1内就可以创建各种API需要的组件目录了,比如controllers、routes、services、database等。
├── project1
│   ├── src
│   │   ├── v1
│   │   │   ├── controllers
│   │   │   ├── routes
│   │   │   ├── services
│   │   │   ├── database
│   │   │   └── ...
│   │   ├── v2
│   │   └── ...
│   └── ...
└── ...