Akh*_*hil 3 c# azure swagger-ui .net-core asp.net-core
Swagger UI 在 azure 中部署时不会在 .net 核心应用程序中创建,但它在本地运行良好
我已经添加了这个
启动.cs中的ConfigureServices(IServiceCollection services)方法
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "API",
Description = "API"
});
});
Run Code Online (Sandbox Code Playgroud)
和
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API");
c.RoutePrefix = "swagger";
});
app.UseAuthentication();
env.ConfigureNLog("nlog.config");
loggerFactory.AddNLog();
app.UseSignalR(routes =>
{
routes.MapHub<DashboardHub>("/hubs/dashboard");
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
Run Code Online (Sandbox Code Playgroud)
在配置中(IApplicationBuilder 应用程序、IHostingEnvironment 环境、ILoggerFactory loggerFactory)
小智 5
确保代码不在 IF 条件 (env.IsDevelopment()) 中。这就是为什么只在本地主机上工作的原因。这避免了在生产时间工作。
像例子一样取出swagger初始化。
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
// NOT HERE
}
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.RoutePrefix = string.Empty;
});
Run Code Online (Sandbox Code Playgroud)
有几点需要注意:
使用http://www.test-cors.org网站验证 CORS 支持。请记住,即使 Access-Control-Allow-Headers 不可用,这也会显示成功的结果,这仍然是 Swagger UI 正常运行所必需的。
请确保您已按照以下文档进行操作,以使用 dot net core 配置 swagger。
https://github.com/domaindrivendev/Swashbuckle.AspNetCore#swashbuckleaspnetcoreswaggerui
如果仍然没有帮助,请提供代码仓库,将进一步帮助您。
注意:swagger-ui-react是打包为 React 组件的 Swagger UI,用于 React 应用程序。
您还可以在这里浏览一些示例:
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1940 次 |
| 最近记录: |