如何从 OpenAPI 架构中使用 operationId?

Pur*_*ome 17 swashbuckle openapi

在 OpenAPI 架构中,它包含可选元素operationId

这是如何使用的以及为什么它是可选的?好吧,至少对于 .NET Core 库“Swashbuckle”,他们说它是可选的

我的猜测是它与 SDK 的使用方式有关。例如,我可以从任何有效的 OpenAPI 模式创建 Typescript SDK...所以我猜测它与 Typescript SDK 的生成方式和消费/使用方式有某种联系?

Adi*_*ain 13

OpenAPI 指南中的路径和运算符页面operationId部分将此属性描述为:

operationId是一个可选的唯一字符串,用于标识操作。如果提供,这些 ID 在 API 中描述的所有操作中必须是唯一的。

...

一些常见的用例operationId是:

  • 某些代码生成器使用此值来命名代码中相应的方法。
  • 链接可以通过操作Id引用链接的操作。


Mik*_*ler 11

是的,其主要用途之一operationId是作为生成的 SDK 中方法名称的基础。但这并不是唯一的用途。例如,它也可以用作生成的文档中的锚点。它可以用在需要操作的唯一标识符的任何地方。

  • 有些工具会根据路径和 HTTP 方法来组成一个。我们的 SDK 生成器实际上会抛出一个错误——它需要指定一个操作 ID——主要是为了避免真正难看的方法名称。 (2认同)