从Swashback自动生成的swagger.json在swagger编辑器中是否有效?

从Swashback自动生成的swagger.json在swagger编辑器中是否有效?,swagger,swashbuckle,azure-api-management,Swagger,Swashbuckle,Azure Api Management,我有一个.NET core 2.1 web API,它使用Swashbuckle.AspNetCore v3.0.0生成swagger文档。我可以从API访问swagger UI,它工作得很好,并且从API使用它时不会收到任何错误。但是,我不能使用swagger.json将此API发布到Azure API管理。当我在swagger编辑器中加载swagger.json进行验证时,它会抱怨一系列错误(与Azure抱怨的错误相同)。既然swagger.json是从我的API中配置的swagger生成的

我有一个.NET core 2.1 web API,它使用Swashbuckle.AspNetCore v3.0.0生成swagger文档。我可以从API访问swagger UI,它工作得很好,并且从API使用它时不会收到任何错误。但是,我不能使用swagger.json将此API发布到Azure API管理。当我在swagger编辑器中加载swagger.json进行验证时,它会抱怨一系列错误(与Azure抱怨的错误相同)。既然swagger.json是从我的API中配置的swagger生成的(它是API中swagger UI顶部的一个链接),为什么它不能成功加载到swagger编辑器或Azure

下面是一个示例函数,其中swagger正在分解该函数中Openiddict类型的属性

[HttpPost("~/connect/token")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
[ProducesResponseType(typeof(OpenIdConnectResponse), 400)]
public async Task<IActionResult> Exchange(OpenIdConnectRequest request)
{
    return Ok(null);
}
[HttpPost(“~/connect/token”)]
[产品响应类型(typeof(Microsoft.AspNetCore.Identity.SignInResult),200)]
[产品响应类型(typeof(OpenIdConnectResponse),400)]
公共异步任务交换(OpenIdConnectRequest)
{
返回Ok(空);
}
该函数从swashbuckle生成以下swagger.json

/connect/token:
    post:
      tags:
        - Authorization
      summary: Provides the token endpoint for supporting openidconnect token generation.
      operationId: ConnectTokenPost
      consumes: []
      produces:
        - text/plain
        - application/json
        - text/json
        - application/xml
        - text/xml
      parameters:
        - name: AccessToken
          in: query
          required: false
          type: string
        - name: AcrValues
          in: query
          required: false
          type: string
        - name: Assertion
          in: query
          required: false
          type: string
        - name: Claims
          in: query
          required: false
          type: object
        - name: ClaimsLocales
          in: query
          required: false
          type: string
        - name: ClientAssertion
          in: query
          required: false
          type: string
        - name: ClientAssertionType
          in: query
          required: false
          type: string
        - name: ClientId
          in: query
          required: false
          type: string
        - name: ClientSecret
          in: query
          required: false
          type: string
        - name: Code
          in: query
          required: false
          type: string
        - name: CodeChallenge
          in: query
          required: false
          type: string
        - name: CodeChallengeMethod
          in: query
          required: false
          type: string
        - name: CodeVerifier
          in: query
          required: false
          type: string
        - name: Display
          in: query
          required: false
          type: string
        - name: GrantType
          in: query
          required: false
          type: string
        - name: IdentityProvider
          in: query
          required: false
          type: string
        - name: IdTokenHint
          in: query
          required: false
          type: string
        - name: LoginHint
          in: query
          required: false
          type: string
        - name: MaxAge
          in: query
          required: false
          type: integer
          format: int64
        - name: Nonce
          in: query
          required: false
          type: string
        - name: Password
          in: query
          required: false
          type: string
        - name: PostLogoutRedirectUri
          in: query
          required: false
          type: string
        - name: Prompt
          in: query
          required: false
          type: string
        - name: RedirectUri
          in: query
          required: false
          type: string
        - name: RefreshToken
          in: query
          required: false
          type: string
        - name: Request
          in: query
          required: false
          type: string
        - name: RequestId
          in: query
          required: false
          type: string
        - name: RequestUri
          in: query
          required: false
          type: string
        - name: Resource
          in: query
          required: false
          type: string
        - name: ResponseMode
          in: query
          required: false
          type: string
        - name: ResponseType
          in: query
          required: false
          type: string
        - name: Scope
          in: query
          required: false
          type: string
        - name: State
          in: query
          required: false
          type: string
        - name: Token
          in: query
          required: false
          type: string
        - name: TokenTypeHint
          in: query
          required: false
          type: string
        - name: Registration
          in: query
          required: false
          type: object
        - name: UiLocales
          in: query
          required: false
          type: string
        - name: Username
          in: query
          required: false
          type: string
      responses:
        '200':
          description: Successfully generates the appropriate access/identity tokens.
          schema:
            $ref: '#/definitions/SignInResult'
        '400':
          description: Indicates an error while attempting to generate an authentication token.
          schema:
            $ref: '#/definitions/OpenIdConnectResponse'
        '403':
          description: Indicates the authorization request is not allowed because the user is not authenticated.


[HttpGet("~/connect/authorize")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
public async Task<IActionResult> Authorize(OpenIdConnectRequest request)
{
    return Ok(null);
}
/connect/token:
职位:
标签:
-授权书
摘要:提供用于支持openidconnect令牌生成的令牌端点。
操作ID:ConnectTokenPost
消费:[]
生产:
-文本/纯文本
-应用程序/json
-text/json
-应用程序/xml
-文本/xml
参数:
-名称:AccessToken
in:查询
必填项:false
类型:字符串
-名称:AcrValues
in:查询
必填项:false
类型:字符串
-名称:断言
in:查询
必填项:false
类型:字符串
-名称:索赔
in:查询
必填项:false
类型:对象
-名称:ClaimsLocales
in:查询
必填项:false
类型:字符串
-名称:ClientAssertion
in:查询
必填项:false
类型:字符串
-名称:ClientAssertionType
in:查询
必填项:false
类型:字符串
-姓名:ClientId
in:查询
必填项:false
类型:字符串
-姓名:ClientSecret
in:查询
必填项:false
类型:字符串
-姓名:代码
in:查询
必填项:false
类型:字符串
-名称:CodeChallenge
in:查询
必填项:false
类型:字符串
-名称:CodeChallengeMethod
in:查询
必填项:false
类型:字符串
-姓名:CodeVerifier
in:查询
必填项:false
类型:字符串
-名称:显示器
in:查询
必填项:false
类型:字符串
-姓名:GrantType
in:查询
必填项:false
类型:字符串
-名称:IdentityProvider
in:查询
必填项:false
类型:字符串
-名称:IdTokenHint
in:查询
必填项:false
类型:字符串
-姓名:LoginHint
in:查询
必填项:false
类型:字符串
-姓名:MaxAge
in:查询
必填项:false
类型:整数
格式:int64
-姓名:Nonce
in:查询
必填项:false
类型:字符串
-名称:密码
in:查询
必填项:false
类型:字符串
-名称:PostLogoutRedirectUri
in:查询
必填项:false
类型:字符串
-名称:Prompt
in:查询
必填项:false
类型:字符串
-名称:重定向URI
in:查询
必填项:false
类型:字符串
-名称:RefreshToken
in:查询
必填项:false
类型:字符串
-姓名:请求
in:查询
必填项:false
类型:字符串
-名称:RequestId
in:查询
必填项:false
类型:字符串
-名称:RequestUri
in:查询
必填项:false
类型:字符串
-名称:资源
in:查询
必填项:false
类型:字符串
-名称:ResponseMode
in:查询
必填项:false
类型:字符串
-姓名:ResponseType
in:查询
必填项:false
类型:字符串
-名称:范围
in:查询
必填项:false
类型:字符串
-姓名:国家
in:查询
必填项:false
类型:字符串
-名称:令牌
in:查询
必填项:false
类型:字符串
-名称:TokenTypeHint
in:查询
必填项:false
类型:字符串
-姓名:注册
in:查询
必填项:false
类型:对象
-名称:UiLocales
in:查询
必填项:false
类型:字符串
-姓名:用户名
in:查询
必填项:false
类型:字符串
响应:
'200':
描述:成功生成适当的访问/标识令牌。
模式:
$ref:“#/definitions/SignInResult”
'400':
描述:表示尝试生成身份验证令牌时出错。
模式:
$ref:“#/definitions/OpenIdConnectResponse”
'403':
描述:表示由于用户未经身份验证,因此不允许授权请求。
[HttpGet(“~/connect/authorize”)]
[产品响应类型(typeof(Microsoft.AspNetCore.Identity.SignInResult),200)]
公共异步任务授权(OpenIdConnectRequest请求)
{
返回Ok(空);
}
这是我要说的
/connect/token:
    post:
      tags:
        - Authorization
      summary: Provides the token endpoint for supporting openidconnect token generation.
      operationId: ConnectTokenPost
      consumes: []
      produces:
        - text/plain
        - application/json
        - text/json
        - application/xml
        - text/xml
      parameters:
        - name: AccessToken
          in: query
          required: false
          type: string
        - name: AcrValues
          in: query
          required: false
          type: string
        - name: Assertion
          in: query
          required: false
          type: string
        - name: Claims
          in: query
          required: false
          type: object
        - name: ClaimsLocales
          in: query
          required: false
          type: string
        - name: ClientAssertion
          in: query
          required: false
          type: string
        - name: ClientAssertionType
          in: query
          required: false
          type: string
        - name: ClientId
          in: query
          required: false
          type: string
        - name: ClientSecret
          in: query
          required: false
          type: string
        - name: Code
          in: query
          required: false
          type: string
        - name: CodeChallenge
          in: query
          required: false
          type: string
        - name: CodeChallengeMethod
          in: query
          required: false
          type: string
        - name: CodeVerifier
          in: query
          required: false
          type: string
        - name: Display
          in: query
          required: false
          type: string
        - name: GrantType
          in: query
          required: false
          type: string
        - name: IdentityProvider
          in: query
          required: false
          type: string
        - name: IdTokenHint
          in: query
          required: false
          type: string
        - name: LoginHint
          in: query
          required: false
          type: string
        - name: MaxAge
          in: query
          required: false
          type: integer
          format: int64
        - name: Nonce
          in: query
          required: false
          type: string
        - name: Password
          in: query
          required: false
          type: string
        - name: PostLogoutRedirectUri
          in: query
          required: false
          type: string
        - name: Prompt
          in: query
          required: false
          type: string
        - name: RedirectUri
          in: query
          required: false
          type: string
        - name: RefreshToken
          in: query
          required: false
          type: string
        - name: Request
          in: query
          required: false
          type: string
        - name: RequestId
          in: query
          required: false
          type: string
        - name: RequestUri
          in: query
          required: false
          type: string
        - name: Resource
          in: query
          required: false
          type: string
        - name: ResponseMode
          in: query
          required: false
          type: string
        - name: ResponseType
          in: query
          required: false
          type: string
        - name: Scope
          in: query
          required: false
          type: string
        - name: State
          in: query
          required: false
          type: string
        - name: Token
          in: query
          required: false
          type: string
        - name: TokenTypeHint
          in: query
          required: false
          type: string
        - name: Registration
          in: query
          required: false
          type: object
        - name: UiLocales
          in: query
          required: false
          type: string
        - name: Username
          in: query
          required: false
          type: string
      responses:
        '200':
          description: Successfully generates the appropriate access/identity tokens.
          schema:
            $ref: '#/definitions/SignInResult'
        '400':
          description: Indicates an error while attempting to generate an authentication token.
          schema:
            $ref: '#/definitions/OpenIdConnectResponse'
        '403':
          description: Indicates the authorization request is not allowed because the user is not authenticated.


[HttpGet("~/connect/authorize")]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Identity.SignInResult), 200)]
public async Task<IActionResult> Authorize(OpenIdConnectRequest request)
{
    return Ok(null);
}
      {
        "name": "Claims",
        "in": "query",
        "required": false,
        "type": "object"
      }
public async Task<IActionResult> Exchange([FromBody] OpenIdConnectRequest request)