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()); }); }