Asp.net core ASP.NET Core 1.0是否支持ApiExplorer,以及如何使用它?
ASP.NET Core 1.0是否支持使用APIExplorer?我在上面找不到任何文档或如何使用它,是否有人使用过它并可以分享一些见解?有一个可下载的ApiExplorer for ASP.NET Core的NuGet:Asp.net core ASP.NET Core 1.0是否支持ApiExplorer,以及如何使用它?,asp.net-core,asp.net-mvc-apiexplorer,Asp.net Core,Asp.net Mvc Apiexplorer,ASP.NET Core 1.0是否支持使用APIExplorer?我在上面找不到任何文档或如何使用它,是否有人使用过它并可以分享一些见解?有一个可下载的ApiExplorer for ASP.NET Core的NuGet: 所以这意味着它得到了支持(Swagger/Swashbackle也支持AFAIK使用)。Itay的回答帮助我得到了我想要的答案 Rob Lang博士写道,对于其他需要使用ApiExplorer的人 简而言之,要获取路由,可以使用构造函数注入将IApiDescriptionG
所以这意味着它得到了支持(Swagger/Swashbackle也支持AFAIK使用)。Itay的回答帮助我得到了我想要的答案 Rob Lang博士写道,对于其他需要使用ApiExplorer的人 简而言之,要获取路由,可以使用构造函数注入将IApiDescriptionGroupCollectionProvider注入控制器中。然后,您将在ApisDescriptionGroupCollectionProvider.ApisDescriptionGroups.Items中接收路由。只有将路由标记为对ApiExplorer可见时,路由才会可见。这可以通过每个控制器或使用约定来完成。因为我想在所有控制器上使用它,所以我使用了IApplicationModelConversation: 然后在Startup.cs中,添加约定:
- 代码来自Rob Lang博士,2016年3月2日14:40
public class ApiExplorerVisibilityEnabledConvention : IApplicationModelConvention
{
public void Apply(ApplicationModel application)
{
foreach (var controller in application.Controllers)
{
if (controller.ApiExplorer.IsVisible == null)
{
controller.ApiExplorer.IsVisible = true;
controller.ApiExplorer.GroupName = controller.ControllerName;
}
}
}
}
public void ConfigureServices(IServiceCollection services)
{
// other calls omitted for brevity
services.AddMvc(opt =>
{
opt.Conventions.Add(new ApiExplorerVisibilityEnabledConvention());
});
}