查询我自己的API的正确方法是什么?

时间:2016-10-03 15:39:28

标签: asp.net asp.net-mvc asp.net-web-api

我有一个包含常规网页和API的网络应用程序。常规控制器在Controllers /中,API控制器在Controllers / API中。

在我的一个观点中,我可以致电

$.getJSON("/API/PRAXA/FO")

但这只适用于开发。在生产中,应用程序位于子目录中,因此我必须调用

$.getJSON("/DMR/API/PRAXA/FO")

如何在运行时正确地确定这一点,因此它在开发和生产中都有效?

我尝试使用

@Html.RouteLink("hiddenLink", "DefaultApi", new { action = "FO", controller = "PRAXA" }, new { id = "hiddenLink" }) 

但它的href属性在两个环境中都为null。

1 个答案:

答案 0 :(得分:1)

UrlHelper.HttpRouteUrl与控制器,操作和参数一起使用。 帮助程序将生成完整的URL,该URL可用于开发和生产。

$.getJSON('@Url.HttpRouteUrl("DefaultApi", new { action = "FO", controller = "PRAXA" } )')

How do I generate a webapi url from an MVC view