GolangとServerless FrameworkでGraphQLのAPIを作成 + 動作確認してみる
Building a Golang GraphQL API on AWS Lambda - A man with no server - Mediumという記事を見つけました。
こちらを参考に、Serverless Frameworkを用いてGraphQLのAPIを作成してみました。
主なロジックは上記の記事とほぼ同様なのですが
- デプロイ周りにServerless Frameworkを使ってみた
- struct毎にファイルを分割してみた
などの改修を行なっています。
私が作ったソースは以下に上げてありソース自体の説明は不要かと思いますが、デプロイ方法と動作確認の方法について書いておきたいと思います。
GitHub - SrcHndWng/go-learning-graphql-serverless
デプロイ
- Serverless Frameworkがインストールされていること
- AWSのアカウントを持っていてクレデンシャルの設定が済んでいること
が前提となります。
githubからソースをcloneする、もしくは以下のコマンドでプロジェクトを作成します。
$ serverless create -u https://github.com/serverless/serverless-golang/-p プロジェクト名
プロジェクトのフォルダに移動してビルドします。
$ GOOS=linux go build -o bin/main
デプロイします。
$ serverless deploy
動作確認
curlでAPIを叩いてもいいのですが、今回はGraphiQL.appを使用しました。
ちなみに実行環境はMacとなります。
GitHub - skevy/graphiql-app: Light, Electron-based Wrapper around GraphiQL
GraphiQL.appをインストールし、クエリとして以下のように入力して結果が返ってくれば成功です。
{ person(id: 1002){ id firstName lastName } }