api - 我在子文件夹上部署时出现 Swashbuckle 根错误

标签 api asp.net-core swagger swashbuckle

我从 Swashbuckle 开始,我使用 Swashbuckle 在 .NET Core 中创建了一个 Web API。
我需要在 IIS 站点的子应用程序中部署我的 API

IIS 基础设施

  • IIS站点(站点)
  • myApi(子应用程序)

  • http://ip:80/myApi
    我希望通过以下网址访问 swagger UI:
    http://ip:80/myApi/swagger
    

    我希望通过这个 url 访问方法:
    http://ip:80/myApi/api/[controller]/methode
    

    配置服务(IServiceCollection 服务)
     services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "My REST API", Version = "v1" });
            });
    

    配置(IApplicationBuilder 应用程序..)
    if (env.IsEnvironment("ProdIT"))
            {
                app.UseSwagger(c =>
                {
    
                    c.PreSerializeFilters.Add((swaggerDoc, httpReq) => swaggerDoc.BasePath = "/myApi/");
                    c.RouteTemplate = "myApi/api-docs/{documentName}/swagger.json";
                });
                app.UseSwaggerUI(c =>
                {
                    c.RoutePrefix = "myApi/swagger";
                    c.SwaggerEndpoint("/myApi/api-docs/v1/swagger.json", "MY REST API V1");});
    

    路由 Controller
    [Route("api/[controller]")]
    

    你能告诉我我的代码有什么问题吗?

    提前致谢

    最佳答案

    我遇到了同样的问题,我通过像这样配置 SwaggerUI 来解决它;

    app.UseSwaggerUI(c =>
    {
         c.SwaggerEndpoint("v1/swagger.json", "MY REST API V1");});
    }
    

    关于api - 我在子文件夹上部署时出现 Swashbuckle 根错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51946315/

    相关文章:

    php - 如何使用全局二级索引创建表 dynamodb

    django - 为什么 Django Rest Framework - 序列化程序验证不起作用

    Scala Future 错误处理与任一

    jquery - 我需要隐藏 div 直到 Vimeo 视频完成。我怎么做?

    asp.net-core - 了解 ASP.NET Core 补丁版本前滚

    c# - 使用 Swagger 的特定状态代码的响应模型

    delphi - 为 Delphi 翻译 Vista WinAPI C++ 头文件 - 有什么建议吗?

    c# - ASP MVC Core RC1 将 Controller 、 View 和模型放在运行时加载的其他程序集中

    c# - 错误 : "alternate key property ' id' is null"with "Update" call to Cosmos DB and Entity Framework Core 3. 1.2

    Swagger 属性需要 false 导致错误