我正在使用 Microsoft Web API 2 和 SwaggerUi 开发 RESTful 网络服务。
我删除了默认的 Global.asax,并使用 OWIN 配置了我的 Web API。这是我的 Startup.cs 代码:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
WebApiConfig.Register(config);
config.MessageHandlers.Add(new JWTAuthenticationHandler() { StopPipelineHandling = true });
config.Filters.Add(new MyActionFilter());
SwaggerConfig.Register();
app.UseWebApi(config);
}
这是我的 SwaggerConfig.cs 代码:
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "MyNamespace.WebApi");
})
.EnableSwaggerUi(c =>
{});
此操作后,我无法像下图那样查看 swagger 上的操作:
请问,你能帮帮我吗?
非常感谢
最佳答案
我已经决定改变:
启动.cs
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
// Swagger
SwaggerConfig.Register(config);
// Authentication token
ConfigureOAuth(app);
// SignalR configuration
ConfigureSignalR(app);
// Register routes
WebApiConfig.Register(config);
// Allow cross-domain requests
app.UseCors(CorsOptions.AllowAll);
app.UseWebApi(config);
}
SwaggerConfig.cs
using Swashbuckle.Application;
using System.Web.Http;
namespace Name.API
{
public class SwaggerConfig
{
public static void Register(HttpConfiguration config)
{
config.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "Name.API");
})
.EnableSwaggerUi(c =>
{
});
}
}
}
我在 https://github.com/domaindrivendev/Swashbuckle/issues/196 上找到了解决方案
关于c# - 为什么在 owin 实现后,swagger 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41148418/