我想通过配置值来引导单个页面AngularJs应用程序托管在利用WebApi的MVC应用程序中(请参阅下面的Razor视图,这是通过继承BasePage和依赖项注入Serializer/FinancialYears服务实现的)。如何获取asp.net MVC中所有配置的WebApi路由列表?
<script>
var angularInitConfig = @Html.Raw(Serializier.Serialize(new {
financialYears = FinancialYearsService.GetFinancialYears()
}));
</script>
这工作完全,但我真的希望能够把它扩大到包括从我的WebAPI的应用程序的路径,以避免必须配置两个的WebAPI的应用程序和单独的应用程序AngularJs端点。
在RouteTable.Routes
类中探索过,我可以看到我需要的信息在视图中可用并可访问,但是我一直无法解压。
所以我最想做的就是从RouteTable.Routes
类中生成如下定义的对象集合,将它们序列化并在引导配置中将它们吐出来供AngularJS应用程序使用。
new {
name = "SomeService",
route = "api/{financialYearId}/someservice",
method = "POST"
}
有没有人知道如何从RoutesTable.Routes
中提取这些信息?有没有更简单的方法来生成所需的数据?
注意:所有的WebAPI路由配置明确使用Routes
属性为这样:
[HttpGet]
[Route("api/{financialYearId}/someservice")]
写一个序列化程序,或使用像Newtonsoft.Json一样是一个普遍的例子。 –
你甚至读过这个问题吗?序列化工作正常,我想从RouteTable.Routes中提取需要的数据,并将其传递给我的工作序列化程序以传回Angular。 –
是的,我读了这个问题。你需要编写一些代码。你在问如何编写代码? –