Swagger YAML 声明中的子路径

2024-01-07

我试图通过在 Swagger YAML 中描述它来创建 REST 服务。

该服务有三个路径:

  • /版本
  • /partners/{partnerId}/users/{userId}/sessions
  • /partners/{partnerId}/books/{bookId}/

我当前描述这些路径的 YAML 文件如下所示:

swagger: '2.0'
info:
  version: '0.0.1'
  title: Test API
host: api.test.com
basePath: /
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
paths:
  /versions:
    post:
      responses:
        '201':
          description: Returns all versions.
        default:
          description: unexpected error
  /partners/{partnerId}/users/{userId}/sessions:
    parameters:
      - name: partnerId
        in: path
        type: integer
      - name: userId
        in: path
        type: string
    post:
      responses:
        '201':
          description: Returns a UserSession object with info about the user session.
        default:
          description: unexpected error
  /partners/{partnerId}/books/{bookId}/:
    parameters:
      - name: partnerId
        in: path
        type: integer
      - name: bookId
        in: path
        type: string
    get:
      responses:
        '200':
          description: Gets a book.
        default:
          description: unexpected error

在此 YAML 文件中,参数“partnerId”声明了两次。

有没有办法制作“子路径”,这样我就不必声明/partners/{partnerId}部分路径两次?


您可以做的是在顶层声明该参数,然后引用它。

swagger: '2.0'
info:
  version: '0.0.1'
  title: Test API
host: api.test.com
basePath: /
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
parameters:
  partnerId:
    name: partnerId
    in: path
    type: integer
paths:
  /versions:
    post:
      responses:
        '201':
          description: Returns all versions.
        default:
          description: unexpected error
  /partners/{partnerId}/users/{userId}/sessions:
    parameters:
      - $ref: '#/parameters/partnerId'
      - name: userId
        in: path
        type: string
    post:
      responses:
        '201':
          description: Returns a UserSession object with info about the user session.
        default:
          description: unexpected error
  /partners/{partnerId}/books/{bookId}/:
    parameters:
      - $ref: '#/parameters/partnerId'
      - name: bookId
        in: path
        type: string
    get:
      responses:
        '200':
          description: Gets a book.
        default:
          description: unexpected error
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swagger YAML 声明中的子路径 的相关文章

  • 如何向最终用户隐藏 REST API Url?

    是否可以隐藏我通过 AJAX 用于填充页面数据的 REST URL 我不希望其他人从我的 REST API 获取和使用 但需要使用它在我的网站中显示内容 如何向最终用户隐藏我的 REST API URL 无法在 JavaScript 中向最
  • Rails - map.resources 的冗余 RESTFUL 操作? (新建、创建)

    我想知道为什么当您使用 map resources 在 Rails 中创建静态路线时 它会生成以下操作 新建 创建 编辑 更新 只声明一项行动有什么问题吗 create and update并做这样的事情 def create unless
  • PHP:在 CURL GET 调用中使用 API 密钥

    我看过关于使用 api 密钥在curl 中验证 post 调用的帖子 我有一个 GET 调用 需要 apikey 进行授权 即请求必须具有包含 apiKey 的授权标头 我已经获得了 api 密钥并尝试将其用于 GET 调用
  • 在yaml中写入#(在字符串中)

    我是新使用 yml 文件 用于我的框架中的翻译 我试图在翻译中添加一个 将是一个推特分享 blabla 这可能吗 因为文件将其翻译为评论 只需将值放在单引号或双引号内 它就不会被视为注释 就像是 en twitter share hasht
  • 使用 Post 以 REST 方式更新值

    我对 REST 很陌生 所以如果这是一个愚蠢的问题 请原谅我 这样 我就有了客户资源 一个客户有很多信用 所以 我想获取客户积分的 URL 是 客户 21 积分 其中 21 是客户 ID 现在 如果我没有全额积分 如何添加积分 例如 客户有
  • LinkedIn Groups API - 在单个 API 请求中获取多个群组的群组徽标

    Using LinkedIn 群组 API http developer linkedin com documents groups api 我正在显示用户在 LinkedIn 上所属的组列表 使用以下命令可以清楚地在一次调用中获取组列表
  • REST Web 服务 WSDL? [复制]

    这个问题在这里已经有答案了 我正在实现一个 Web 服务 并且已经实现了 REST 和 SOAP 版本 看看哪个版本适合我的需求 我决定选择 REST 因为它很简单 而且我可能会开发一个 iPhone 应用程序来使用它 我的问题很简单 是否
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 使用.NET Core 3.0添加swagger时出现异常

    我正在尝试将 swagger 融入ASP NET Core 3 0项目 它在中抛出异常ConfigureServices method 我在用Swashbuckle AspNetCore 4 0 1 我也检查过这个issue https s
  • 通过 PayPal REST API 示例获得折扣?

    PayPal GURUS 我需要帮助 如何插入折扣 我使用 REST API 可能是某个 可以显示代码示例吗 有什么方法可以使用 PHP REST API 发送折扣金额吗 目前 REST 支付 API 不支持折扣 您最好的选择是计算您端的折
  • 这是 Box API v2 获取事件时的错误吗

    使用 BOX API v2 从 Box 获取事件时 我发现了一个奇怪的行为 我得到的场景如下 使用 box API v1 将 14 个文件上传到 box net 使用stream position now 获取事件 这给出了流位置 例如12
  • 每个线程具有不同参数的 JMeter 测试计划

    我需要使用 JMeter 测试网络服务 我已经使用线程组 500 创建了测试计划 我需要为每个线程传递新的参数值 我听说过 CSV 数据集配置 但它不允许我想要的 因为如果我设置 共享模式 所有线程 那么每个线程将尝试从文件的每一行读取 我
  • 如果遵循 REST 架构,如何访问 codeigniter 中的 URL 参数?

    以下是可用于访问资源的基于 REST 的有效 URL 使用codeigniter 如何访问下面传递的参数1 我在教程中看到了上述内容并设置了我的代码 然而显然 id this gt input gt get id 不起作用 Using th
  • 在服务器内部调用 Web 服务

    我有一个网络服务 getEmployee 当传递 id 时 它会获取单个员工的员工详细信息 同一服务器上的另一个 Web 服务 getEmployeeList 当传递一个部门时 它会获取整个员工列表 这将获取部门的 ID 然后调用 getE
  • 如何处理两个 gradle 插件的任务冲突?

    我使用 gradle 和两个插件com jfrog artifactory and io swagger core v3 swagger gradle plugin 现在我想按照此处所述进行配置https github com swagge
  • 使用when条件来匹配输出寄存器中的字符串(Ansible)

    我无法在输出变量中搜索我用于 when 语句的指定字符串 下面的代码应该检查输出变量中的字符串 distribute list 但是当运行剧本时它会给出错误 fatal 192 168 3 252 FAILED gt failed true
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • 该Web容器尚未启动@Glassfish 4.0.01 web

    所以 这就是我对我的服务进行 REST 调用后得到的结果 2014 04 25T01 06 52 393 0200 glassfish 4 0 WARNING javax enterprise web tid ThreadID 21 Thr

随机推荐