gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:25:51 25 4
gpt4 key购买 nike

我从 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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com