我如何在asp.net MVC中获得所有配置的WebApi路由的列表
本文关键字:配置 WebApi 列表 路由 asp net MVC | 更新日期: 2023-09-27 18:09:11
我试图通过配置值来引导一个托管在使用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
类中生成如下所定义的对象集合,序列化它们,并在bootstrap配置中输出它们,供AngularJS应用程序使用。
new {
name = "SomeService",
route = "api/{financialYearId}/someservice",
method = "POST"
}
有没有人知道如何从RoutesTable.Routes
提取这个信息?是否有更简单的方法来生成所需的数据?
NB。所有WebApi路由都使用Routes
属性显式配置,如下所示:
[HttpGet]
[Route("api/{financialYearId}/someservice")]
如果您使用Visual Studio创建默认模板asp.net Mvc或WebAPi,您将在文件夹>区域'帮助页中获得帮助…如果你访问你的应用程序:Http://yourportapplication/api/Help
如果项目webapi…然后,您可以看到如何获取信息的代码…只是为了开始你所寻找的,....