初次创建 API 时,我会提供的一些重要建议

使用正确的HTTPS请求方法

当定义HTTP方法对于API服务,必须使用正确的方法让用户以正确的方式进行查询。一些HTTPS方法是:

  • POST :如果最终用户要向API发送数据,请使用此方法。
  • GET:如果最终用户要在API查询数据库后检索数据,请使用此方法。
  • PUT:如果最终用户更新数据库中的现有数据,请使用此方法。
  • PATCH:如果最终用户需要更正或替换数据库中的现有数据,请使用此方法。
  • DELETE:如果最终用户从数据库中删除了任何信息或数据,请使用此方法。

假设一个外部用户想要通过发送一个 ID 来查询用户表,而您设计的 API 方法使用了 Post 方法。这将限制用户的查询,因为最终用户没有添加或创建数据,并且用户不能以他们应该能够的方式进行查询。

相反,使用 get 方法最好使用一个 ID 作为参数,它应该是这样的:

这将为用户提供使用 ID 进行查询并获取特定数据的选项。

我建议在定义方法之前了解所有的 HTTP请求 方法,并在被请求时返回正确的ID。

确保路由非常清晰,这样用户就可以快速调用我前面展示的 API 服务。

为 API 创建个好名字

  • 使用清晰、简洁的名称:

如果你想查询一个苹果的数据库,给 API 命名是没有意义的" api/fruits/"

虽然苹果是一种水果,但它不是最终用户想要的。最终用户想要一种特定的水果,所以说出它的名字“API/apple/”。

  • 使用解释查询的词语:

例如,使用名词这样的词来表示API中资源的内容" API/文具/笔"。这解释了API对信纸数据库中所有笔的查询。

这将代替,例如,“API/信纸/write”。

  • 避免特殊字符:

如果最终用户看到这样的API,他们可能会感到困惑“api/fruits%20?/苹果”。他们不会理解这个API是做什么的,或者它是如何查询的,或者它将获得什么信息。

必要时定义参数

除非需要,否则尽可能避免使用额外的参数。创建RestFul API时所需参数的一些示例如下:

  • 请求标题和cookies:此参数使用服务器发送到用户web浏览器的一小部分数据。
  • URL查询字符串:这些参数元素被插入到您的URL中,以帮助您过滤和组织网站上的内容或跟踪信息。
  • URL路径:这是一个必需的参数,它为最终用户或任何调用API的人提供了获取正确信息的方法,例如:"/用户/", "/users/<用户id >/" package/<包id > ".
  • 正文查询字符串/多部分:此参数设置问题或API的HTTP方法,例如邮政–用于发送数据,或放–用于更新API中的数据。

那么什么时候需要参数呢?假设外部用户正在对一个API服务进行多次查询,API会查询其他服务来获取用户想要的数据。

这将降低API服务的速度,但是在这种情况下,额外的参数是有帮助的。

实现分页

当创建一个巨大的微服务并且响应体或对象变得太大时,分页使API更容易返回少量信息。

分页是一种在网站或响应对象上将数字内容分成不同页面的方法。

想象一个有70个用户的数据库。API调用获取用户而不是一次发送所有用户的响应并使其变慢。

您可以分解响应,比如返回前三十个用户,随后的三十个用户,以及后面的十个用户。不过,分页响应速度更快。

但是这违反了无状态API的属性,即外部用户在他们的终端处理会话相关信息的存储。

使用分裂

当API进行内部通信时,响应通常很短。但当它是一个大的响应时,它是一个例外,当它是一个例外时,它就有问题。

当响应超过其限制(每个响应10kb或15kb)时,会出现这种情况。这里的解决方案是将响应分解,然后一点一点地交给另一个服务。

这就像将TCP(传输控制协议)号分成片段并分发出去,这样服务就不会过载。

它将知道更多的细节还在后面,它还将有一个结束数据包,如break命令,表示当片段即将结束时,协议结束。

以下是这篇文章的一些要点:

  • 避免奇怪的字符,使用代表API响应内容的单词。
  • 当响应对象很大时,分页和分段是必不可少的
  • 如果数据库负载很大,应该缓存请求。
  • 如果您有很多负载,减少您的响应时间,而不是将完整的信息传递给用户。只需传入必要或关键的数据。那叫做服务质量下降。它包括提供基本要素,并且仍然在不破坏API服务的情况下做出响应。
  • 当设计一个API并且你想要一个完美的数据一致性时,缓存你的响应。

最后,并不是人人都需要自己设计 API ,如果你对 API 文档、 API 测试等方面有需求的话,我推荐大家使用这个开源的 API 管理工具——Eoapi。

Eoapi 是一个可扩展的 API 工具平台。

Eoapi 集合基础的 API 管理和测试功能,并且可以通过插件简化你的 API 开发工作,让你可以更快更好地创建 API。

github 地址:
https://github.com/eolinker/e...

Demo 地址:

www.eoapi.io/?utm_source=sf&utm_campaign=xh&utm_content=pd

310 声望
3 粉丝
0 条评论
推荐阅读
不只是 Swagger和Postman,国产的Eolink Apikit 值得信赖!
作为一个后端开发,我做的大部分项目一般都是基于 Swagger 来管理 API 文档,基于 Postman 来做接口调试,基于 JMeter 来做接口性能测试,基于 RAP 等工具 Mock API 数据。可时不时我就会想:“要不要这么麻烦?有...

气势凌人的柿子2阅读 80

ChatGPT 用来干这些,可真香!
ChatGPT 是一款由 OpenAl 开发的语言模型产品,它能够模拟人类的语言行为,与用户进行自然的交互。ChatGPT 基于GPT-3.5(Generative Pretrained Transformer 3.5)的语言模型建造,通过使用大量的训练数据来模拟...

气势凌人的柿子3阅读 779评论 1

前端自动化测试之葵花宝典
首先聊一下概念,Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法,它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。

京东云开发者2阅读 760

封面图
给新人推荐这 6 款 API 测试工具
Postman: Postman 是一个流行的 API 开发和测试工具,提供了丰富的功能,包括请求构建、测试自动化、数据驱动等。用户可以通过 Postman 的界面轻松创建和测试 RESTful API。

圆圆大姐头3阅读 438评论 1

ChatGPT 插件上线!亲测,更加便捷!
ChatGPT 正火的时候,还有很多人都在忙着搜教程,大家想亲自体验原汁原味的 ChatGPTt,可搜到的资源要不是很难用,或者无法科学上网,挺折腾的,现在终于不用那么麻烦了。

Postcat2阅读 723评论 4

就这些了, 常见 6 款API 文档工具推荐
Swagger: Swagger 是一个开源的 API 文档管理工具,可以通过注解自动生成 API 文档,并提供交互式 UI 和 API 调试功能。 Swagger 支持多种语言和格式,包括 Java、Python、JSON、YAML 等。

圆圆大姐头3阅读 338

Redis集群介绍及测试思路
Redis集群一般有四种方式,分别为:主从复制、哨兵模式、Cluster以及各大厂的集群方案。在3.0版本之前只支持单实例模式,3.0之后支持了集群方式。在3.0之前各大厂为了解决单实例Redis的存储瓶颈问题各自推出了自...

京东云开发者2阅读 487

封面图
310 声望
3 粉丝
宣传栏