油炸小可爱|全栈开发必备技能:构建RESTful API的13种最佳实践

Facebook、GitHub、Google以及其他许多巨头都需要一种服务和消费数据的方式 。 在当今的开发环境中 , RESTful API仍然是服务和消费数据的最佳选择之一 。
油炸小可爱|全栈开发必备技能:构建RESTful API的13种最佳实践但是你是否考虑过学习行业标准?设计RESTful API的最佳实践是什么?从理论上讲 , 任何人都可以在不到五分钟的时间内快速启动数据API——无论是Node.js , Golang还是Python 。
我们将探讨在构建RESTful API时应考虑的13种最佳实践 。 但首先 , 让我们快速阐明RESTful API 。
什么是RESTful API?【油炸小可爱|全栈开发必备技能:构建RESTful API的13种最佳实践】RESTful API需要满足以下约束才能被称为RESTful API 。

  1. 客户端-服务器模型:RESTful API遵循客户端-服务器模型 , 其中服务器为数据提供服务 , 而客户端连接到服务器以使用数据 。 客户端和服务器之间的交互是通过HTTP(S)请求进行的 , 该请求传输了请求的数据 。
  2. 无状态:更重要的是 , RESTful API应该是无状态的 。 每个请求都被视为独立请求 。 服务器不应跟踪可能影响将来请求结果的任何内部状态 。
  3. 统一接口:最后 , 一致性定义了客户端和服务器之间的交互方式 。 RESTful API定义了命名资源的最佳实践 , 但定义了允许你修改资源/与之交互的固定HTTP操作 。 可以在RESTful API中访问以下HTTP操作:GET请求:检索资源POST请求:创建资源或将信息发送到APIPUT请求:创建或替换资源PATCH请求:更新现有资源DELETE请求:删除资源
在对RESTful API的特性有了更深入的了解后 , 是时候了解更多关于RESTful API的最佳实践了 。
本文为你提供了13种最佳实践的可行清单 。 让我们来探索!
油炸小可爱|全栈开发必备技能:构建RESTful API的13种最佳实践1.正确使用HTTP方法我们已经讨论了可用于修改资源的HTTP方法:GET , POST , PUT , PATCH和DELETE 。
尽管如此 , 许多开发人员还是倾向于滥用GET和POST或PUT和PATCH 。 通常 , 我们看到开发人员使用POST请求来检索数据 。 此外 , 我们看到开发人员使用PUT请求来替换资源 , 而他们只想更新该资源的单个字段 。
确保使用正确的HTTP方法 , 因为这将为使用你的RESTful API的开发人员增加很多混乱 。 最好是坚持使用预定的准则 。
2.命名约定了解RESTful API命名约定将对你有组织地设计API有很大帮助 。 根据你服务的资源设计一个RESTful API 。
例如 , 你的API管理着作者和书籍(是的 , 一个经典的例子) 。 现在 , 我们要添加一个新作者或访问一个ID为 3 的作者 。 你可以设计下面的路由来达到这个目的:
  • api.com/addNewAuthor
  • api.com/getAuthorByID/3
想象一下 , 一个API承载了许多资源 , 每个资源都有许多属性 。 可能的端点列表将变得无穷无尽 , 而且对用户不是很友好 。 所以我们需要一种更有条理和标准化的方式来设计API端点 。
RESTful API最佳实践描述了端点应以资源名称开头 , 而HTTP操作则描述操作 。 现在我们得到:
  • POST api.com/authors
  • GET api.com/authors/3
如果我们想访问ID为 3 的作者曾经写过的所有书籍怎么办?对于这种情况 , RESTful API也有解决办法:
  • GET api.com/authors/3/books
最后 , 如果您要为ID为 3 的作者删除ID为 5 的书 , 该怎么办?同样 , 让我们遵循相同的结构化方法来形成以下端点: