Swagger AWS API网关使用虚张声势

Swagger AWS API网关使用虚张声势,swagger,aws-api-gateway,asp.net-core-webapi,swashbuckle,Swagger,Aws Api Gateway,Asp.net Core Webapi,Swashbuckle,我想使用swashback.AspNetCore从ASP.NET Core web API生成AWS API网关swagger() 如果有人对此有解决方案,请告诉我 注意:我遇到了这个。想做同样的事情。你能在这方面指导我吗 谢谢, AbidaliAWS Api网关在swagger中使用x-amazon-apigateway-*扩展来配置REST Api 我不认为已经有一个库可以通过Swashback为您管理它,但是Swashback有一些接口,您可以实现这些接口来生成自定义的swagger扩展,

我想使用swashback.AspNetCore从ASP.NET Core web API生成AWS API网关swagger()

如果有人对此有解决方案,请告诉我

注意:我遇到了这个。想做同样的事情。你能在这方面指导我吗

谢谢,
Abidali

AWS Api网关在swagger中使用x-amazon-apigateway-*扩展来配置REST Api

我不认为已经有一个库可以通过Swashback为您管理它,但是Swashback有一些接口,您可以实现这些接口来生成自定义的swagger扩展,如中所述。例如,如果要生成x-amazon-apigateway-integration扩展,可以通过实现
swashback.AspNetCore.swagggegen.IOperationFilter
接口:

    public class AwsApiGatewayIntegrationFilter : IOperationFilter
    {
        public void Apply(Operation operation, OperationFilterContext context)
        {
            operation.Extensions.Add("x-amazon-apigateway-integration",new
            {
                type = "aws",
                uri = "arn_to_your_aws_resource"
            });
        }
    }
并在swagger generator设置期间对其进行配置:

services.AddSwaggerGen(c =>
{
     c.SwaggerDoc("v1", new Info
            {
                Version = "v1",
                Title = "My API",
                Description = "",
                TermsOfService = "",
            });
    c.OperationFilter<AwsApiGatewayIntegrationFilter>();
});
services.AddSwaggerGen(c=>
{
c、 大摇大摆的文件(“v1”,新信息
{
Version=“v1”,
Title=“我的API”,
Description=“”,
服务期限=”,
});
c、 操作过滤器();
});

asidis答案的最新版本如下:(使用dotnet 3.0.0和Swashback 5.0.0-rc4)

在Startup.cs中

services.AddSwaggerGen(c =>
{
      c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
      c.OperationFilter<AwsApiGatewayIntegrationFilter>();
);
services.AddSwaggerGen(c=>
{
c、 SwaggerDoc(“v1”,新的openapinfo{Title=“myapi”,Version=“v1”});
c、 操作过滤器();
);

谢谢@asidis。工作正常。
services.AddSwaggerGen(c =>
{
      c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
      c.OperationFilter<AwsApiGatewayIntegrationFilter>();
);