**1. HTTPS:**HTTPS 为接口的安全提供了保障,可以有效防止通信被窃听和篡改。而且现在部署 HTTPS 的成 本也越来越低,你可以通过 cerbot 等工具,方便快速的制作免费的安全证书,所以生产环境,请务必使用 HTTPS。
另外注意,非 HTTPS 的 API 调用,不要重定向到 HTTPS,而要直接返回调用错误以禁止不安全的调用。
**2. 域名:**应当尽可能的将 API 与其主域名区分开,可以使用专用的域名,访问我们的 API,例如:
https://api.domain.com
或者可以放在主域名下,例如:
https://www.domain.com/api
**3. 版本控制:**随着业务的发展,需求的不断变化,API 的迭代是必然的,很可能当前版本正在使用,而我们就得开发甚至上线一个不兼容的新版本,为了让旧用户可以正常使用,为了保证开发的顺利进行,我们需要控制好 API 的版本。
通常情况下,有两种做法:
将版本号直接加入 URL 中
https://api.domain.com/v1
https://api.domain.com/v2
使用 HTTP 请求头的 Accept 字段进行区分
https://api.domain.com/
Accept: application/prs.domain.v1+json
Accept: application/prs.domain.v2+json
Github Api 虽然默认使用了第一种方法,但是其实是推荐并实现了第二种方法的,我们同样也尽量使用第二种方式。
4. 用URL定位资源: 在 RESTful 的架构中,所有的一切都表示资源,每一个 URL 都代表着一种资 源,资源应当是一个名词,而且大部分情况下是名词的复数,尽量不要在 URL 中出现动词。
先来看看 github 的 例子:
GET /issues 列出所有的 iss

本文介绍了RESTful设计的基本原则,包括HTTPS安全、域名区分、版本控制、URL定位资源、HTTP动词的使用、资源过滤、状态码的正确使用、数据响应格式、调用频率限制和编写文档的重要性。通过这些原则,可以创建安全、稳定且易于使用的API。
最低0.47元/天 解锁文章
485

被折叠的 条评论
为什么被折叠?



