fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【第5回】Go言語(Golang)入門~REST API実装編~

【第5回】Go言語(Golang)入門~REST API実装編~

Go言語(Golang)入門~第5回目~

秋山笹川先生

(株)ライトコードの笹川(ささがわ)です!

前回は、RESR APIを構築するための機能を実装しました。

今回は、POSTで受け取った値をFirestoreへ追加し、追加されたデータをレスポンスとして返す実装をしてみたいと思います。

前回の記事はこちら

Firestoreへのデータ追加の実装を作ってみよう!

まずは、Firebaseの初期化処理を実装しようと思います。

前回のFirestoreでのデータ操作をした際の記述に対して、戻り値を用意してます。

初期化処理は共通処理となるので、メソッド化しておいたほうが効率が良さそうです。

初期化処理だけで実行をしても意味がないので、このまま、データを追加する処理をしてからclientをクローズするまでを実装します。

Firestoreへのデータ追加処理

Firestoreへのデータ追加処理は、これで完了です。

それでは、リクエストを受け取って、Json をパースして、Firestore へのデータ追加処理を呼び出してみましょう!

これで実行してみます。

実行

リクエストのヘッダーに Content-Type: application/json  を入れて、下記の Json を body にセットしてからリクエストしてみましょう!

curl だと下記のようなコマンドです。

今の実装だと追加に失敗しない限りは、リクエストの body に入れた Json を返すようにしています。

笹川は、Postman を利用して実行してみました。

無事に成功です!

データを追加成功のレスポンスとしてFirestoreのデータを返してみよう!

データ追加のあとに、データ読み取りの処理を入れて、Json で返します。

実装

それでは、実装してみましょう!

想定よりも複雑な処理になりました。

データを読み取る実装自体は、以前の記事でも実装したので説明を割愛します。

今回のつまづきポイントは、Firestoreから受け取った値がmap型であり、それをJson形式で返すために試行錯誤した点です。

確認

追加処理を実装した際に test1 のユーザーは追加済みなので、test2 のユーザーを追加して確認してみます。

curl だと下記のリクエストで確認できます。

レスポンスは、test1test2 の情報が下記のように配列で戻ってきたら成功です!

毎度のごとくPostmanで確認してみます。

無事に成功しました!

さいごに

今回は、REST APIとしてGo言語(Golang)からFirestoreのデータを追加してみました。

1つ1つの実装は難しくないのですが、組み合わせるとどうしても複雑化していってしまいますね。

Go言語(Golang)は、パッケージ分割などでフィルや処理を分割できます。

そのため、整理しながら開発していくのが良いように思います。

今後は、「実際にデプロイ」してみたり、「Androidアプリ等とのデータのやり取り」をしてみたいなと思います!

今回作成したgoファイルは、こちらのリポジトリにて管理しております。

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

笹川 (社員)
笹川 (社員)
新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!

関連記事