Facebook、GitHub、google以及其他许多巨头都需要一种服务和消费数据的方式 。在当今的开发环境中 , RESTful API仍然是服务和消费数据的最佳选择之一 。
![全栈开发必备技能:构建RESTful API的13种最佳实践](http://img.jiangsulong.com/220421/1353394R2-0.jpg)
文章插图
但是你是否考虑过学习行业标准?设计RESTful API的最佳实践是什么?从理论上讲 , 任何人都可以在不到五分钟的时间内快速启动数据API——无论是Node.js , Golang还是Python 。
我们将探讨在构建RESTful API时应考虑的13种最佳实践 。但首先 , 让我们快速阐明RESTful API 。
什么是RESTful API?RESTful API需要满足以下约束才能被称为RESTful API 。
- 客户端-服务器模型:RESTful API遵循客户端-服务器模型 , 其中服务器为数据提供服务 , 而客户端连接到服务器以使用数据 。客户端和服务器之间的交互是通过HTTP(S)请求进行的 , 该请求传输了请求的数据 。
- 无状态:更重要的是 , RESTful API应该是无状态的 。每个请求都被视为独立请求 。服务器不应跟踪可能影响将来请求结果的任何内部状态 。
- 统一接口:最后 , 一致性定义了客户端和服务器之间的交互方式 。RESTful API定义了命名资源的最佳实践 , 但定义了允许你修改资源/与之交互的固定HTTP操作 。可以在RESTful API中访问以下HTTP操作:GET请求:检索资源POST请求:创建资源或将信息发送到APIPUT请求:创建或替换资源PATCH请求:更新现有资源DELETE请求:删除资源
本文为你提供了13种最佳实践的可行清单 。让我们来探索!
![全栈开发必备技能:构建RESTful API的13种最佳实践](http://img.jiangsulong.com/220421/13533aA6-1.jpg)
文章插图
1.正确使用HTTP方法我们已经讨论了可用于修改资源的HTTP方法:GET , POST , PUT , PATCH和DELETE 。
尽管如此 , 许多开发人员还是倾向于滥用GET和POST或PUT和PATCH 。通常 , 我们看到开发人员使用POST请求来检索数据 。此外 , 我们看到开发人员使用PUT请求来替换资源 , 而他们只想更新该资源的单个字段 。
确保使用正确的HTTP方法 , 因为这将为使用你的RESTful API的开发人员增加很多混乱 。最好是坚持使用预定的准则 。
2.命名约定【全栈开发必备技能:构建RESTful API的13种最佳实践】了解RESTful API命名约定将对你有组织地设计API有很大帮助 。根据你服务的资源设计一个RESTful API 。
例如 , 你的API管理着作者和书籍(是的 , 一个经典的例子) 。现在 , 我们要添加一个新作者或访问一个ID为 3 的作者 。你可以设计下面的路由来达到这个目的:
- api.com/addNewAuthor
- api.com/getAuthorByID/3
RESTful API最佳实践描述了端点应以资源名称开头 , 而HTTP操作则描述操作 。现在我们得到:
- POST api.com/authors
- GET api.com/authors/3
- GET api.com/authors/3/books
- DELETE api.com/authors/3/books/5
3.使用复数资源资源应始终使用其复数形式 。为什么?假设你要检索所有作者 。因此 , 你将调用以下端点:GET api.com/authors 。
当你读取请求时 , 你无法判断API响应是否只包含一个或所有作者 。因此 , API端点应该使用复数资源 。
4.正确使用状态码状态码在这里不只是为了好玩 , 它们有一个明确的目的 , 状态码通知客户端请求的成功 。
推荐阅读
- 百度小程序开发所需要考虑的问题
- 互联网公司在开发APP时要注重哪些问题?APP架构师告诉你
- Go 语言到底适合干什么?
- C#笔记~泛型
- 一步步从头搭建 Vue 开发环境
- 几个微信小程序开发小技巧,提效又实用
- 微信开发最新Java SDK来了:WxJava3.9.0
- 红姜茶精致女生必备,安溪茶校歌舞节目快乐女生获殊荣
- JavaWeb - 开发环境搭建和 Shell 编程
- Web开发实用技能,看Kendo UI如何定义网格高度