加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – DotNetCore – 是否支持ApiExplorer,以及如何使用它?

发布时间:2020-12-16 09:13:09 所属栏目:asp.Net 来源:网络整理
导读:dot net core 1.0是否支持使用API??Explorer?我无法找到任何文档或如何使用它,是否有人使用它并可以分享一些见解? 解决方法 谢谢你的回复Itay,它帮助我得到了我想要的答案.对于其他需要使用ApiExplorer的人,我在这里找到了一篇写得很好的帖子 在StackOverf
dot net core 1.0是否支持使用API??Explorer?我无法找到任何文档或如何使用它,是否有人使用它并可以分享一些见解?

解决方法

谢谢你的回复Itay,它帮助我得到了我想要的答案.对于其他需要使用ApiExplorer的人,我在这里找到了一篇写得很好的帖子
在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());     
    });
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读