场景: 我有一个Node和Angular web应用程序。 它需要调用一个外部API(第三方服务)来获取数据(更具体地说是:https://api.represent.me/api/questions/)。来自前端或后端的外部API调用?
问: 是更好地从角前端使这种外部电话:GET http://thirdpartyservice.com/api/data
或具有前端调用同一域节点端点:GET http://example.com/node-backend-api
,然后调用GET http://thirdpartyservice.com/api/data
然后它会从第三方处理数据api在将它传回角度之前?
思考:
- 我想两个API调用是不太理想的,但它是在同一个域 所以就这算不上是一个问题?
- 从节点端获取会更安全(尤其是在使用秘密密钥 时),并且还掩盖了使用第三方服务的事实 。
- 如果从前端调用,CORS的东西可能会阻碍。
- 这里是关键词,例如,从 前端调用字体apis可能是最好的,但从后端获取并需要处理数据 可能会更好。
其他人推荐(和做)什么,有没有其他的赞成或反对点“思想”?
我会说它取决于什么样的第三方服务和你使用它们:)所有的前端依赖应该从前端调用,并从后端调用所有的后端依赖。 – Andurit
如果你不想处理来自API的响应,那么前端将做。但是,如果您从后端调用API,则可以更灵活地处理响应(当您获得大量数据时很有用),过滤,添加额外数据等,并在服务器的额外负载上妥协。这取决于你想要做什么与响应:) –
所有非常有帮助的,是对数据的额外处理,并且可能同时向数据库添加数据肯定会成为后端的工作。我认为从前端调用前端依赖关系和后端后端依赖关系来看它是一种很好的方式来看待它 – timhc22