首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在asp.net MVC中获取所有已配置的WebApi路由的列表?

如何在asp.net MVC中获取所有已配置的WebApi路由的列表?
EN

Stack Overflow用户
提问于 2016-09-28 23:42:35
回答 1查看 887关注 0票数 0

我试图传递配置值来引导托管在使用WebApi的MVC应用程序中的单个页面AngularJs应用程序(参见下面的Razor视图,这是通过继承BasePage和依赖注入序列化程序/FinancialYears服务来实现的)。

代码语言:javascript
运行
复制
<script>
var angularInitConfig = @Html.Raw(Serializier.Serialize(new {
                   financialYears = FinancialYearsService.GetFinancialYears()
               }));
</script>

这可以完美地工作,但是我真的希望能够将它扩展到包括来自我的WebApi应用程序的路由,以避免必须在WebApi应用程序和AngularJs应用程序中分别配置端点。

查看了RouteTable.Routes类之后,我可以看到我需要的信息可以从视图中获得和访问,但是我一直无法提取它。

因此,理想情况下,我想要做的是从RouteTable.Routes类生成一个如下定义的对象集合,序列化它们,并将它们输出到引导程序配置中,供AngularJS应用程序使用。

代码语言:javascript
运行
复制
new {
    name = "SomeService",
    route = "api/{financialYearId}/someservice",
    method = "POST"
}

有人知道如何从RoutesTable.Routes中提取这些信息吗?有没有更简单的方法来生成所需的数据?

注意:所有WebApi路由都使用Routes属性显式配置,如下所示:

代码语言:javascript
运行
复制
[HttpGet]
[Route("api/{financialYearId}/someservice")]
EN

回答 1

Stack Overflow用户

发布于 2016-10-21 16:41:27

如果你使用Visual Studio创建默认模板asp.net Mvc或WebAPi,如果你在以下位置访问你的应用程序,将在文件夹> Areas\HelpPage...and中获得帮助:Http://yourportapplication/api/Help If project webapi...然后,您可以看到如何获取information...just的代码,以启动您正在寻找的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39752085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档