今天的笔记是我学习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
- 创建一个项目目录,如
project1; - 在project1内创建源目录,即
src; - 在src内创建版本目录
v1,以方便版本控制和管理; - 在
v1内就可以创建各种API需要的组件目录了,比如controllers、routes、services、database等。
├── project1
│ ├── src
│ │ ├── v1
│ │ │ ├── controllers
│ │ │ ├── routes
│ │ │ ├── services
│ │ │ ├── database
│ │ │ └── ...
│ │ ├── v2
│ │ └── ...
│ └── ...
└── ...