Nodejs中是否存在API控制器?一个API层与多个API [每个返回相同类型的数据但完全不同的数据模型]进行通信并按摩数据以返回到我们的客户端显示器?这有不同的术语吗?
我有一个简单的CRUD应用程序。
AngularJS前端在后端调用我的RESTful Nodejs API。
然而,现在有一个第三方拥有自己的API和数据,我希望我的前端能够在用户希望的情况下使用。
来自第三方API的数据与我们的数据类似,但不会遵循相同的数据模型。我试图围绕如何开始编写API,前端将调用可以转到我们的API或第三方[以及可能未来的第三方]并按摩数据,无论哪种方式它都是与显示器相同。
处理此方案的任何资源或更好的方法?
答案 0 :(得分:1)
是的,使用nodeJS可以通过多种方式实现。如何设置将取决于项目的详细信息,但这里有几种方法来获得该功能:
设置查询其他端点的端点。例如,所有api请求都会命中/api/1.0/:routing_params,并基于该routing_param向各种其他api发送请求。此数据将返回到您的后端,然后将响应发送到浏览器。
使用expressJS之类的东西来安装多个路由器,每个路由器处理每个api的各个端点。可在此处找到快速路由的文档。 ExpressRouting
根据您的扩展/性能要求,您还可以考虑使用类似nginx的内容来处理传入请求,并将它们引导到处理各种api逻辑的单独nodejs进程。这可能是过度的,但如果您希望运行多个nodejs进程并处理多个未来的api端点,这是保持模块化的简单方法。
这应该提供一些起点,您选择做什么以及如何实施它将高度依赖于您的应用程序的规范。