ASP.NET Web API 2在链中进行REST调用

时间:2014-11-28 16:26:16

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

如果我有一个使用MVC 5构建的Web应用程序和一个使用Web API 2的服务。下面的场景是一个好习惯吗?

MVC UI jQuery --> call Web API 2 endpoint --> which will call another service 

例如:

  1. 申请表位于:http://domain.com
  2. 当用户访问应用程序时,单击按钮
  3. 按钮的jQuery click事件处理程序对http://domain.com/api/user/getdata
  4. 进行GET REST调用
  5. 来自ApiController GetData的操作User使用C#代码对http://anotherserver.com/api/something进行GET REST调用 5当来自Number 4的调用返回数据时,来自Number 4的操作GetData将该数据返回到Number 3(原始请求者jQuery)。

1 个答案:

答案 0 :(得分:1)

"链接"没有错。调用。显然,通话链越长,失败的点越多,完成所有往返旅程所需的时间就越长。

所以问题是:为什么要间接调用第二个REST API?如果它是合法的商业或设计理由,那么继续。否则,进行必要的更改以直接从客户端调用第二个REST API。

单独小型服务的一个合理原因是干净的模块化设计。另一个是高度细化的安全性。

与许多事情一样,这是一种权衡,正确的决定对您的情况来说是独一无二的。