我想将一些Slack消息保存到GraphQL后端。我可以使用Slack API和他们所称的" Slack App Commands"因此每次向Slack通道发送消息时,Slack会自动向我的服务器发送HTTP POST请求,并将新消息作为数据发送。
我在考虑使用AWS lambda函数将此发布请求转发到我的GraphQL服务器端点(我正在使用GraphCool)。我是GraphQL的新手,我使用Apollo从浏览器创建突变。现在我需要从我的节点服务器(AWS Lambda函数)而不是浏览器发送变异。我怎样才能做到这一点?
感谢。
答案 0 :(得分:16)
GraphQL突变只是对GraphQL端点的HTTP POST请求。您可以使用任何HTTP库轻松发送一个,例如<ul class="select2-results__options" role="tree" id="select2-upsell_ids-results">
<li class="select2-results__option">first (#404)</li>
<li class="select2-results__option" >second (#496)</li>
<li class="select2-results__option">abc (#2482)</li>
<li class="select2-results__option">defg (#2484)<span class="description">Size: 47</span></li>
<li class="select2-results__option">hil (#2485)<span class="description">Size: 46,5</span></li>
</ul>
或request
。
例如,这种突变,
axios
和查询变量,
mutation ($id: Int!) {
upvotePost(postId: $id) {
id
}
}
是一个HTTP POST请求,其JSON有效负载为
$id = 1
请注意,{
"query": "mutation ($id: Int!) { upvotePost(postId: $id) { id } } ",
"variables": { "id": 1 }
}
是您的GraphQL查询字符串。
使用query
作为示例,您可以使用类似的内容将其发送到您的服务器,
axios
答案 1 :(得分:2)
设置AWS Lambda是留给读者的练习。
要了解您的Apollo客户端代码发送到服务器的GraphQL查询(或者在本例中为突变),为了切割+粘贴(并且可能是参数化)到您的lambda代码中,此工具存在:{{3}现在可以让你观察正在执行的突变。