我想通過配置值來引導單個頁面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。 –
是的,我讀了這個問題。你需要編寫一些代碼。你在問如何編寫代碼? –