dot net core 1.0是否支持使用APIExplorer?我无法找到任何文档或如何使用它,是否有人使用它并可以分享一些见解? 谢谢你的回复Itay,它帮助我得到了我想要的答案.对于其他需要使用A
在StackOverflow上.
MVC6 – List of all routes
简短的回答,为了获得路径,您可以使用构造函数注入将IApiDescriptionGroupCollectionProvider注入到控制器中.然后,您将在ApiDescriptionGroupCollectionProvider.ApiDescriptionGroups.Items中接收路由.只有将它们标记为ApiExplorer可见时,才会显示这些路线.这可以通过控制器或使用约定来完成.由于我想在所有控制器上使用它,我使用了IApplicationModelConvention:
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;
}
}
}
}
然后在Startup.cs中添加约定:
public void ConfigureServices(IServiceCollection services)
{
// other calls omitted for brevity
services.AddMvc(opt =>
{
opt.Conventions.Add(new ApiExplorerVisibilityEnabledConvention());
});
}
