Swashbuckle PCF 上未定义任何操作。适用于本地开发

问题描述 投票:0回答:1

我读过很多文章,升级的、降级的,甚至侧降级的,但没有任何东西可以在 PCF 上显示 Swagger 定义。

让它变得格外困难的是,它可以在本地运行 VS 2019 IIS Express,但当我推送到 PCF 时,它会失败。我所说的失败是指 swagger UI 加载但没有定义任何操作。

技术规格:

  • AspNetCoreAll 2.2.0

  • Swashbuckle.AspNetCore 4.0.1

  • Swashbuckle.AspNetCore.Annotations 4.0.1

  • swagger-codegen-cli-2.3.0

  • PCF

  • 构建包:dotnet_core_buildpack_2_2_5

  • 堆栈:cflinuxfs3

启动.cs

public void ConfigureServices(IServiceCollection services)
{
    services
            .AddSwaggerGen(c =>
            {
                c.SwaggerDoc("1.0.0", new Info
                {
                    Version = "1.0.0",
                    Title = "MyAPI",
                    Description = "MyAPI (ASP.NET Core 2.2)",
                    Contact = new Contact()
                    {
                       Name = "Production Support Team",
                       Url = "https://github.com/swagger-api/swagger-codegen",
                       Email = "[email protected]"
                    },
                    TermsOfService = ""
                });
}

public void Configure(...)
{
        .UseSwagger()
        .UseSwaggerUI(c =>
        {
            //string swaggerJsonBasePath = string.IsNullOrWhiteSpace(c.RoutePrefix) ? "." : "..";
            //c.SwaggerEndpoint($"{swaggerJsonBasePath}/swagger/1.0.0/swagger.json", "ipt-client-mobile-bff");

            c.SwaggerEndpoint("/swagger/1.0.0/swagger.json", "MyAPI");

        });

我还发现了这个:openapi-original.json,这看起来很像我的招摇操作....??

有些事情我不清楚:

我认为 swagger.json 是在您点击 /swagger 端点并加载 Swagger-UI 时动态生成的。

然而,PCF 人员说它是在构建时生成的,它没有显示在 PCF 上的原因是因为我的 PCF 打包和构建过程不包含它。

无论是哪一个,我在磁盘上都找不到

swagger.json
,这让我怀疑它是在内存中动态生成的。

PCF 日志或 F-12 开发工具中也没有抛出任何错误。

c# swagger swashbuckle
1个回答
0
投票

非常有趣...我删除了一个第 3 方库,因为它未通过安全扫描,然后推送到 dev / qa...我的招摇又开始工作了!

我已将这两个问题通知了第三方库的制造商。

© www.soinside.com 2019 - 2024. All rights reserved.