c# - 如何正确地将 swagger 定义连接到已部署应用程序的子文件夹到主机
问题描述
我有一个大摇大摆的.net core web api应用程序。
我正在使用.net 5
基础设施:
我正在为 react 应用程序和 webapi 应用程序使用 smarterasp 托管服务。React 应用程序位于创建的(文件夹)网站的根目录上。我刚刚将我的 webapi 从我的根文件夹移动到文件夹api
.
注意: webapi 工作正常,当它最初位于根文件夹时。
问题:
正如我所提到的,当我将我的 webapi 移动到api
子文件夹时,我收到了错误:
尝试:
我试图在我的 Startup.cs 类中更改地址:
- ./swagger/v1/swagger.json
- api/swagger/v1/swagger.json
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IConfiguration configuration)
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("./swagger/v1/swagger.json", "NNN.WebApi v1");
c.RoutePrefix = string.Empty;
});
...
}
但是,我收到或此失败消息或 404 未找到..
解决方案
解决方案是放置以下端点:
c.SwaggerEndpoint("/v1/swagger.json", "NNN.WebApi v1");