Dam*_*nni 9 lambda apollo aws-lambda graphql graphcool
我想将一些Slack消息保存到GraphQL后端.我可以使用Slack API以及他们所谓的"Slack App Commands",因此每次向Slack通道发送消息时,Slack会自动向我的服务器发送HTTP POST请求,并将新消息作为数据.
我正在考虑使用AWS lambda函数将此发布请求转发到我的GraphQL服务器端点(我正在使用GraphCool).我是GraphQL的新手,我使用Apollo从浏览器创建突变.现在我需要从我的节点服务器(AWS Lambda函数)而不是浏览器发送变异.我怎样才能做到这一点?
谢谢.
das*_*mug 20
GraphQL突变只是对GraphQL端点的HTTP POST请求.您可以使用任何HTTP库轻松发送一个,例如request或axios.
例如,这个突变,
mutation ($id: Int!) {
upvotePost(postId: $id) {
id
}
}
Run Code Online (Sandbox Code Playgroud)
和查询变量,
$id = 1
Run Code Online (Sandbox Code Playgroud)
是一个HTTP POST请求,其JSON有效负载为
{
"query": "mutation ($id: Int!) { upvotePost(postId: $id) { id } } ",
"variables": { "id": 1 }
}
Run Code Online (Sandbox Code Playgroud)
请注意,query您的GraphQL查询是一个字符串.
axios例如,您可以使用以下内容将其发送到您的服务器,
axios({
method: 'post',
url: '/graphql',
// payload is the payload above
data: payload,
});
Run Code Online (Sandbox Code Playgroud)