gpt4 book ai didi

openapi - 服务器属性在 OpenAPI 3.0 中有什么意义?

转载 作者:行者123 更新时间:2023-12-03 23:54:47 25 4
gpt4 key购买 nike

OpenAPI 3.0 Specification ,根OpenAPI Objectservers属性是 Server Objects 的数组.和 Path Item Object还允许可选的 servers属性(property)。

规范中给出的描述并没有清楚地说明 servers可能会有所帮助。
servers有什么意义属性(property)?我们是否有任何示例来解释 servers 的用例?既作为根 OpenAPI 对象的直接属性,又作为路径项的属性?

最佳答案

servers为 API 指定一个或多个目标服务器,即 API 调用的基本 URL。端点路径(例如 /users/{id} )是相对于这些服务器定义的。某些 API 具有单个目标服务器;其他人可能会提供多个服务器,例如沙盒与生产或不同地理区域的区域服务器(例如:AWS)。

默认情况下,OpenAPI 定义中的所有操作都使用全局定义的 servers ,但是 servers也可能被特定路径和操作覆盖。这对于某些操作使用与其余操作不同的服务器的 API 很有用。通过这种方式,您可以在单个 API 定义中记录所有操作,而不是将其拆分为多个定义,每个服务器一个。

示例: Dropbox API

  • 大多数端点都在 api.dropboxapi.com 上领域。
  • 内容上传/下载端点位于 content.dropboxapi.com .
  • Longpoll 端点位于 notify.dropboxapi.com .
  • OAuth 端点位于 www.dropbox.com .

  • Dropbox API 定义可能如下所示:

    openapi: 3.0.0
    info:
    title: Dropbox API
    version: 1.0.0

    servers:
    - url: 'https://api.dropboxapi.com/2'

    paths:
    # These endpoints are on api.dropboxapi.com (use global `servers`)
    /file_requests/list:
    ...
    /users/get_account:
    ...

    /files/upload:
    # File upload/download uses another target server
    servers:
    - url: 'https://content.dropboxapi.com/2'
    ...

    /files/list_folder/longpoll:
    # Longpolling uses another target server
    servers:
    - url: 'https://notify.dropboxapi.com/2'
    ...

    查看 API Host and Base Path有关更多详细信息和示例的指南。

    关于openapi - 服务器属性在 OpenAPI 3.0 中有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50546573/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com