【问题标题】:Swagger shows endpoints from other projectSwagger 显示来自其他项目的端点
【发布时间】:2020-01-29 21:30:38
【问题描述】:

我通过几个项目得到了解决方案。 他们中很少有人使用(是)Web Api。 我在那里使用 Swagger。

在其中一个项目(项目 A)中,我只有一个端点。 但是当我启动 Swagger 时,我还看到了另一个项目(项目 B)的端点。 另一方面,我在 (B) 项目的 Swagger 中看不到一个端点 (A)。

两个项目的 Swagger 配置相似。

public void ConfigureServices(IServiceCollection services)
{
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new Info
        {
            Title = "My Platform – A",
            Version = "v1",
            Description = "A ~ ASP.NET Core Web API"
        });
    }); // ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("swagger/v1/swagger.json", "A V1");
        c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);
        c.RoutePrefix = string.Empty;
    }); // ...
}

怎么可能? 我需要进行哪些更改才能仅获取自己的端点(-s)?

【问题讨论】:

  • A 和 B 是独立的程序集吗?
  • @NateBarbettini 是的,我想是的。因为有单独的项目,每个项目都需要自己的构建。
  • 我同意,这很奇怪。愚蠢的问题,你真的可以从 (A) 的服务器访问 (B) 的端点吗?还是 Swagger 只认为你能做到?
  • @NateBarbettini 是的,我可以访问项目 B 的端点。
  • 这对我来说似乎是真正的原因。您能否提供有关如何配置解决方案的更多详细信息?项目是否共享控制器或其他东西?

标签: asp.net-core asp.net-web-api swagger


【解决方案1】:

解决方案是项目 A 使用项目 B 中的一个类。这个类需要在公共业务项目中。所以我删除了类和依赖项。现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多