OpenAPI 模式的媒体类型是什么?

Alt*_*eus 3 media-type swagger openapi

每当搜索此内容时,我都会找到有关如何指定模式定义的资源的媒体类型的资源,但我看不到有关模式本身的实际媒体类型是什么的答案。

鉴于 HTTP 的工作方式,对我来说,如果我使用 Accept 标头请求正确的内容类型,我的服务器可以适当地响应是有意义的。

因此,如果我请求/productsAccept: application/json我将获得 JSON 格式的产品,但如果我请求openapi-whatever我将获得 OpenAPI 模式。

我可能可以使用application/openapi+jsonapplication/openapi+yaml,但在实际规范中我看不到任何有关它的信息。

我不确定我是否真的想使用 Accept 标头来解决这个差异,但我当然想在任何情况下都使用正确的 Content-Type 标头进行响应。

Hel*_*len 5

OpenAPI Initiative 的技术指导委员会 (TSC)批准了以下媒体类型:

application/vnd.oai.openapi      (YAML variant)
application/vnd.oai.openapi+json (JSON only variant)
Run Code Online (Sandbox Code Playgroud)

带有可选version参数:

application/vnd.oai.openapi;version=2.0
Run Code Online (Sandbox Code Playgroud)

但是,这些媒体类型尚未在IANA注册。