如何在NodeJS graphql apollo服务器和Python项目之间进行通信



由于这个堆栈对我来说是新的,我想向社区征求意见不会有什么坏处。

我正在探索一种新类型的项目,并一直在集思广益,如果,如何在apollo graphql服务器(NodeJS(和客户端Python程序之间进行通信。我有web开发背景,我打算将我的应用程序和服务器保持在Typescript/Node中。

然而。。。

作为一个项目和练习,我想通过Python+RaspberryPi中的GPIO包连接一个浇水系统,然后将更新发送到我的apollo graphql服务器。我认为,从概念上讲,在传统的RESTful api中,它会很简单。。。然而,对于GraphQL,事情对我来说有点模糊。如果能以各种语言构建硬件连接的服务,而不是拘泥于在typescript/node中拥有everything,那就太好了。为此,Python是RaspberryPi社区中使用最广泛的语言。

以前有人这样做过吗,或者类似的事情,有见解和经验可以分享吗?


编辑:自从发布之后,我对graphql越来越熟悉,并在Postman中玩过它。它只是有一个端点,我可以通过查询发布到它(我假设是突变和其他一切(,它由我的NodeJS apollo graphQL服务器捕获。我最终使用这个python包来查询我的节点API,它似乎工作得很好。

您的服务器是node,客户端是python。服务器根本不在乎你的客户端是python、java还是C#,它只想看到GraphQL请求。

我建议使用基于python的GraphQL客户端包,如python GraphQL客户端

你说得对,最后一切看起来都像POST。使用一个实际的客户端可能会让你的生活更轻松一些。

您可以尝试使用RESTful包装器调用GraphQL服务:https://graphql.org/blog/rest-api-graphql-wrapper/.之前也有类似的问题:链接。

其次,不直接调用服务器,您还可以尝试使用消息代理在中间。简而言之:raspi将消息发送到由服务器轮询的队列。有几种可用的解决方案,如:Rabbitmq。

最新更新