如何解决OpenAPI 3.x定义中包含变量的服务器URL?
#javascript #开源 #api #openapi

OpenAPI specification被广泛用于定义恢复的API。 OpenAPI规范的关键组件之一是server部分,该部分提供了可以访问API的URL列表。但是,使用服务器部分可能很复杂,尤其是当服务器URL包含variables和其他动态组件时。那就是 openapi-url-resolver 进来的地方。

下面是服务器对象示例,

{
  "servers": [
    {
      "url": "https://{username}.gigantic-server.com:{port}/{basePath}",
      "description": "The production API server",
      "variables": {
        "username": {
          "default": "demo",
          "description": "this value is assigned by the service provider, in this example `gigantic-server.com`"
        },
        "port": {
          "enum": [
            "8443",
            "443"
          ],
          "default": "8443"
        },
        "basePath": {
          "default": "v2"
        }
      }
    }
  ]
}

从OpenAPI 3.x定义解析服务器URL或主机

OpenApi-url-Resolver 是一个轻巧的NPM软件包,简化了从OpenAPI规格中解决服务器URL的过程。使用openapi-url-resolver,您可以轻松提取服务器信息并从已解决的URL中删除协议,从而更容易使用符合OpenAPI规范的API。

npm openapi-url-resolver

这是Openapi-url-Resolver的一些关键特征:

  • ð轻量级仅具有965个字节的大小
  • ð零依赖项,使您的项目易于安装和使用
  • - 从OpenAPI规范中解决URL的高效和简单方法

您可以通过NPM安装openapi-url-resolver

npm install openapi-url-resolver

使用openapi-url-resolver很简单。您需要做的就是将OpenAPI 3.X规格对象传递到resolve()函数,它将返回一系列已解决的服务器URL。您也可以将第二个参数传递到resolve()函数,以获取使用协议的服务器URL。

这是如何使用OpenApi-url-resolver的一个示例:

对于需要从OpenAPI规范中提取服务器信息的开发人员来说,这是一个很好的工具。 它轻巧,易于使用并且没有任何依赖性,使其成为使用OpenApi 的任何项目的绝佳补充。

如果您有兴趣了解 OpenApi-url-resolver ,请查看GitHub repository并在您的项目中尝试一下!

谢谢。