Swagger Bearer身份验证未显示[GET]请求的授权JWT令牌字段

时间:2020-08-24 09:18:28

标签: asp.net-web-api swagger swagger-ui swashbuckle

正在显示HTTP POST请求的“授权”字段,但没有显示GET请求的Web身份验证添加令牌的授权字段。

enter image description here

enter image description here

config.EnableSwagger(c =>
            {
                c.SingleApiVersion("v1", "Mach.CharterPad.API");
                c.OperationFilter<SwaggerAuthorizationFilter>();
                c.RootUrl(req => $"{req.RequestUri.GetLeftPart(UriPartial.Authority)}{req.GetConfiguration().VirtualPathRoot.TrimEnd('/')}{appvirtualpath}/api");
            }).EnableSwaggerUi();
public class SwaggerAuthorizationFilter : IOperationFilter
    {
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {
            if (operation.parameters != null)
            {
                operation.parameters.Add(new Parameter
                {
                    name = "Authorization",
                    @in = "header",
                    description = "access token",
                    required = false,
                    type = "string"
                });
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

我已经更新了API参数,并且可以正常工作。

[Route("")]
public IHttpActionResult Get([FromUri] Paging paging)
{
    var result = TripManager.Get(paging.Index, paging.Size);
    return Ok(result != null ? new ApiResponse(true, "Results found", result) : new ApiResponse(false, "No record found", result));
}

enter image description here