1

我正在使用 RapidAPI 创建一个 API,当我上传 OpenAPI 规范时,Web UI API 名称使用 OpenAPI 规范填充,该规范operationId通常是 camelCase。如何在保留标准 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 解决方案使用summaryOAI Petstore 示例中的“列出所有宠物”的操作属性,这将是理想的,但是,RapidAPI 似乎不支持这一点,至少默认情况下是这样。

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

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

在此处输入图像描述

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

4

1 回答 1

0

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

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

我的实现可以作为SpecOperationIdsFromSummaries()我的 Spectrum OpenAPI Spec SDK 中的函数使用:

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

于 2021-06-24T07:43:03.460 回答