我正在尝试传递配置值以引导在使用WebApi的MVC应用程序中托管的单页AngularJs应用程序(请参阅下面的Razor视图,这是通过继承BasePage和依赖注入Serializer / FinancialYears服务来实现的)
<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
中提取这些信息吗?是否有更简单的方法来生成所需的数据?
NB。所有WebApi路由都使用Routes
属性明确配置:
[HttpGet]
[Route("api/{financialYearId}/someservice")]
答案 0 :(得分:0)
如果使用Visual Studio创建默认模板asp.net Mvc或WebAPi,您将获得文件夹中的帮助&gt; Areas \ HelpPage ...如果您访问应用程序:Http://yourportapplication/api/Help
如果项目webapi ...
然后,你可以看到代码如何获取信息...只是为了开始你想要的东西,....