【发布时间】: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