【问题标题】:How to get pretty API names with RapidAPI from OpenAPI spec如何从 OpenAPI 规范中使用 RapidAPI 获得漂亮的 API 名称
【发布时间】:2021-05-06 19:02:15
【问题描述】:

我正在使用 RapidAPI 创建 API,当我上传 OpenAPI 规范时,Web UI API 名称使用 OpenAPI 规范 operationId 填充,通常是驼峰式。如何在保留标准 camelCase operationId 格式的同时让名称显示为人性化?

这是一个例子:

这是官方的 OpenAPI PetStore OAS3 示例规范:

https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml

这是一个示例 API:

paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets

这会加载如下,其中operationIdlistPets 出现在 HTML 导航菜单中,如下所示:

而不是listPets,我希望左侧导航对空间友好,就像 RapidAPI 上的其他 API 一样。其他 OpenAPI 解决方案使用操作 summary 属性,即 OAI Petstore 示例中的“列出所有宠物”,这将是理想的,但是,RapidAPI 似乎不支持这一点,至少在默认情况下是这样。

一个输出示例是 RapidAPI Community Open Weather Map API,它显示的名称类似于“当前天气数据”。

https://rapidapi.com/community/api/open-weather-map

有没有办法通过 OpenAPI 规范在 Web UI 中获取人性化名称,而无需将 operationId 格式转换为非标准人性化字符串?例如,RapidAPI 是否可以使用另一个字段来告诉它使用summary 属性?

【问题讨论】:

    标签: openapi rapidapi


    【解决方案1】:

    我被告知无法单独设置 RapidAPI UI 中显示的 API 名称。

    如前所述,此类信息通常存储在 OpenAPI 规范的操作summary 属性中。我的解决方案是以编程方式将 OpenAPI Spec 操作的 summary 属性复制到 operationId 属性。

    我的这个实现在我的 Spectrum OpenAPI Spec SDK 中作为 SpecOperationIdsFromSummaries() 函数提供:

    https://github.com/grokify/spectrum/blob/v1.8.0/openapi3edit/operations.go#L190-L203

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 2011-05-22
      • 2017-12-16
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      相关资源
      最近更新 更多