速成班101
10 模块
5 周数

斯瓦格

点击复制

使用Swagger进行应用程序故障排除


下一个我们可以用来测试和调试我们的应用程序的工具是 Swagger.我们之前已经熟悉了它;正如你所记得的,在它里面,你可以看到正在开发的应用程序的所有终端,运行它们,并得到结果。让我们更详细地看一下这个。

授权在Swagger

首先,请记住 Middleware Token Auth是默认启用的,它可以控制大多数端点的访问。它拒绝未经授权或甚至通过它但没有适当访问权限的用户的访问(例如,他们属于Users 组,而该端点是专为Admins )。

必要的授权令牌可以使用Developer Tools 。你需要做的就是登录到发布的网络应用程序,然后履行任何请求。该令牌将被用在 Request Headers.例如,你可以在截图中看到,当我们提出一个获取国家数据的请求时,在稍高一点的地方 GET请求获得有关国家的数据。

让我们看看你如何直接在 Swagger.要做到这一点,找到负责授权的端点(Auth组。 POST /Auth/端点)并点击"Try it out" "按钮。这个端点需要两个参数:Login ,和Password 。指定它们,然后点击 Execute来发送请求。顺便说一下,在这里,使用Developer Tools ;你可以打开它们,对请求和响应进行更详细的研究。


响应将收到所需的令牌,以及关于用户和他的会话的详细信息。


你可以看到,收到的响应与我们在Developer Tools 中已经看到的响应没有什么不同。 同时,。 Swagger有一个不可否认的优势,那就是它可以测试任何请求,并以方便的形式用必要的参数启动端点。但在进行这种测试之前,让我们点击 Authorize并使用收到的令牌来确认授权。


发送请求时使用Swagger

现在让我们通过以下方式发送一个请求 Swagger来获取第一个城市的数据,这个城市的人口超过500万,并且在描述中带有 "World"字样。要做到这一点,打开 GET /city/端点,并填入所需的参数。

  • _limit = 1(只需要一个城市)
  • population_from = 5000000(应检查人口值)
  • _search_in = info(只在info 字段中搜索)
  • _search = World(寻找单词World)


收到的响应显示请求被正确执行。我们收到了关于一个这样的城市的信息(我们看到 count = 3,这意味着数据库包含了三个合适的城市的信息),并且没有收到关于它所在国家的任何数据(“country”: null),因为该查询不需要从相关的表中提出数据(如果需要,值得使用 _with参数)。


Was this article helpful?
还在寻找答案吗?
加入社区