Swagger 两次指定相同的路径
是否可能在一个由Swagger UI呈现的API规范中多次出现相同的路径 我应该创建单独的api规范并加载两个Swagger UI实例吗?处理这个问题的最佳方法是什么 例如,我有一个名为/oauth/token的端点,我想用一组参数为oauth授权代码流记录该端点,用不同的参数集为客户端凭据流记录相同的端点/oauth/token文档Swagger 两次指定相同的路径,swagger,swagger-ui,Swagger,Swagger Ui,是否可能在一个由Swagger UI呈现的API规范中多次出现相同的路径 我应该创建单独的api规范并加载两个Swagger UI实例吗?处理这个问题的最佳方法是什么 例如,我有一个名为/oauth/token的端点,我想用一组参数为oauth授权代码流记录该端点,用不同的参数集为客户端凭据流记录相同的端点/oauth/token文档 /oauth/token: post: summary: token endpoint for authorization_code flow
/oauth/token:
post:
summary: token endpoint for authorization_code flow
parameters:
- name: code
type: string
description: Required for Authorization Code Flow
in: formData
required: true
- name: grant_type
type: string
description: Grant Type should be specified as authorization_code
in: formData
required: true
default: authorization_code
enum:
- authorization_code
- client_credentials
- name: client_id
type: string
description: Consumer Key
in: formData
required: true
- name: client_secret
type: string
description: Consumer Secret
in: formData
required: true
- name: endOtherSessions
in: formData
type: boolean
required: false
default: false
description: Optional parameter. Default is false - do not allow concurrent login. Send true to end any other user sessions.
tags:
- OAuth2 Authorization Code
客户端\u凭据流的相同端点
/oauth/token2:
post:
summary: token for client credentials
parameters:
- name: grant_type
type: string
description: Grant Type should be specified as client_credentials
in: formData
required: true
default: client_credentials
enum:
- authorization_code
- client_credentials
- name: client_id
type: string
description: Consumer Key
in: formData
required: true
- name: client_secret
type: string
description: Consumer Secret
in: formData
required: true
tags:
- OAuth2 Client Credentials
由于问题是关于OAuth2的,而不是具有不同参数的单个端点,因此解决方案实际上是不同的 Swagger有一种特定的方法来记录授权方法,包括4个常见的OAuth2流 这些使用位于顶部的描述 在其中,您可以定义一个或多个OAuth2流。规范本身为
隐式流提供了一个示例,但其他规范遵循类似的结构。区别在于提供的字段,即authorizationUrl
和tokenUrl
(取决于流类型)
一旦有了这些,就可以指定需要哪些安全方案。可以在或处为所有操作指定它
该规范允许您定义同时需要一组安全方法,或者用户可以在给定的安全方法集之间进行选择。您是否仅要求OAuth2端点?因为如果是这样,您根本不需要指定这些。OAuth2安全性用Swagger进行了不同的描述。它同时适用于OAuth2和常规资源端点。Oauth2是我第一次遇到需要重复相同路径的情况。你能举一个非Oauth2路径的例子吗?因为这与它无关。我可以为您提供oauth2的具体解决方案,但更愿意看到您遇到的实际问题。谢谢Ron。到目前为止,我还没有关于非oauth的具体问题。您能为oauth2的特定场景提供帮助吗?谢谢Ron。这有助于记录api规范,但没有很好的方法显示来自Swagger UI的OAuth2安全定义文档,因此我尝试复制Swagger路径,文档类似于(这是Swagger 1.2版),看起来OAuth部分是作为HTML完成的,而不是使用Swagger-UI。好吧,你不能这样做。有一个功能要求swagger ui显示可用的证券,不能说是否/何时实施。Getty Images在那个里所做的超出了规范的范围,并没有得到Swagger的正式支持。