首页 > 解决方案 > OpenAPI 模式名称中可以包含“/”吗?

问题描述

我正在使用一个 API,它使用“foo/bar”之类的字符串来识别(区分)JSON 对象。

一个$ref$ref: '#/components/schemas/foo/bar'给了我错误。

是否支持此命名?我想利用 API 提供的这些属性来使用区分来选择最合适的组件模式。

我正在使用 OpenAPI 3.0.1。

标签: openapi

解决方案


不。

OpenAPI 3.0 组件名称(包括架构名称)只能包含以下字符:

a-z A-Z 0-9 - . _

来源


但是,模式中的属性名称 没有限制,因此/可以在属性名称中使用:

components:
  schemas:
    MySchema:
      type: object
      properties:
        foo/bar:   # <-----
          type: string

推荐阅读