Nodejs 中有 API Controller 之类的东西吗?与多个 API 进行通信的 API 层(每个 API 返回相同类型的数据,但完全不同的数据模型)并调整数据以返回到我们的客户端显示?有不同的术语吗?
我有一个简单的 CRUD 应用程序。
AngularJS 前端在后端调用我的 RESTful Nodejs API。
但是,现在有一个第三方拥有自己的 API 和数据,如果用户愿意,我希望我的前端能够使用这些 API 和数据。
来自第 3 方 API 的数据与我们的数据类似,但不会遵循相同的数据模型。我正在尝试思考应该如何开始编写前端将调用的 API,该 API 可以转到我们的 API 或第 3 方(可能还有 future 的第 3 方)并处理数据,因此无论哪种方式都是与显示相同。
有任何资源或更好的方法来处理这种情况吗?
最佳答案
是的,使用 NodeJS 有多种方法可以实现这一点。如何设置它取决于项目的详细信息,但以下是获得该功能的几种方法:
设置查询其他端点的端点。例如,所有 api 请求都会命中/api/1.0/:routing_params,并基于该routing_param 向各种其他 api 发送请求。该数据将返回到您的后端,然后后端将响应发送到浏览器。
使用像expressJS这样的东西来安装多个路由器,每个路由器处理每个api的各种端点。可以在此处找到快速路由的文档。 ExpressRouting
根据您的扩展/性能要求,您还可以考虑使用类似 nginx 的内容。处理传入的请求并将它们定向到处理各种 api 逻辑的单独的 Nodejs 进程。这可能有点过头了,但如果您预计需要运行多个 Nodejs 进程并处理多个 future 的 api 端点,那么这是一种保持模块化的简单方法。
这应该提供一些起点,您选择做什么以及如何实现它将高度依赖于您的应用程序的规范。
关于javascript - 用于在 API 之间切换的 Nodejs API Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37288237/