代码之家  ›  专栏  ›  技术社区  ›  FRZ7

在子文件夹上部署时swashbuckle根错误

  •  2
  • FRZ7  · 技术社区  · 6 年前

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

    IIS基础结构

    我希望通过以下网址访问Swagger用户界面:

    http://ip:80/myApi/swagger
    

    我希望访问此URL要完成的方法:

    http://ip:80/myApi/api/[controller]/methode
    

    配置服务(ISeviceCollection服务)

     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");});
    

    路由控制器

    [Route("api/[controller]")]
    

    你能告诉我我的密码怎么了吗?

    提前谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   agua from mars    6 年前

    我也有同样的问题,我通过这样配置高傲的方式解决了这个问题;

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