首页 > 解决方案 > Swagger '没有在规范中定义操作' ASP.NET CORE 3.1

问题描述

我的大摇大摆的显示没有任何控制器的迹象。我不知道我的设置有什么问题。以前的版本一切都很容易,但我在 3.1 中挣扎。我尝试将 [ApiAttribute] 提供给我的控制器,但它们返回另一个错误“控制器没有任何属性”。

public void ConfigureServices(IServiceCollection services)
{
     SetupSwagger(services);
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
     app.UseSwagger();
}

    private void SetupSwagger(IServiceCollection services)
    {
        services.AddSwaggerGen();
        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new OpenApiInfo { Title = "DemoAuth", Version = "v1" });
            c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
            {

                Description = Constants.JWT_DESCRIPTION,
                Name = Constants.AUTHORIZATION,
                In = ParameterLocation.Header,
                Type = SecuritySchemeType.ApiKey,
                Scheme = Constants.BEARER
            });

            c.AddSecurityRequirement(new OpenApiSecurityRequirement(){
              {
                    new OpenApiSecurityScheme
                     {
                          Reference = new OpenApiReference
                            {
                              Type = ReferenceType.SecurityScheme,
                              Id = Constants.BEARER
                            },
                            Scheme = Constants.OAUTH2,
                            Name = Constants.BEARER,
                            In = ParameterLocation.Header,

                      },
                      new List<string>()
              }
            });

        });
    }

标签: asp.net-coreswagger

解决方案


在过去的两天里,我一直在为同样的问题而苦苦挣扎。我有两种具有相同 HttpGet 调用的方法。

您可以在输出窗口中查找错误详细信息。

在此处输入图像描述


推荐阅读