1. HOME
  2. ブログ
  3. IT技術
  4. 【第10回】Go言語(Golang)入門~ObjectBox活用編~

【第10回】Go言語(Golang)入門~ObjectBox活用編~

第10回~Go言語(Golang)入門~

秋山笹川先生

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

今回は、前回に引き続き、ObjectBox を利用して、 「echo + ObjectBox」のREST APIを作ってみようと思います!

それでは、いってみましょう!

前回の記事はこちら

こちらの記事もオススメ!

データ追加エンドポイントを実装してみよう

まずは、データの操作の前にテーブルの実装をします。

テーブルの構造体を記述したあとに、おまじないを実行します。

これで、favorite.obx.go が作成されたら、テーブルデータの用意は完了です。

データベース接続&データ追加までの実装

それでは、前回同様に、データベースに接続してデータ追加までを実装します。

ObjectBox も echo も以前の記事で取り扱っているので、一つ一つの実装追加は省きます。

この形式でレスポンスが返ってきたら成功です。

確認

では、実行してみます!

結果はこちら。

CreatedAt が、Date型を気にせず文字列変換したため、分かりにくい表記になっていますが成功です!

修正

ちなみに、下記のようにすれば分かりやすくなります。

dateLayout の中身が、よく分からない日付ですね(笑)

理由は、以下の記事に載っていますので、気になる方はご参考ください。

【参考記事】
https://qiita.com/ruiu/items/5936b4c3bd6eb487c182

データを検索してみよう

データの「Name」と「Description」の、それぞれと両方で検索ができるようにしてみます。

Name の検索を実装

まずは、「Name」の検索を実装します。

Descriptionの検索を実装

次に、「Description」の検索を実装します。

NameとDescription両方での検索の実装

最後に、「Name」と「Description」の両方での検索を実装します。

呼び出しを含めると、下記のようになります。

先に、いくつかデータを追加しておきます。

確認

それでは、検索してみましょう!

まずは、「Name」で検索してみます。

次に、「Description」で検索してみます。

最後にキーワードで検索してみます。

うまく検索出来ていますね!

これで、検索の実装は完了です。

データを更新してみよう

「Name」をキーに、Descriptionの更新を実装してみます。

練習なので、検索してから更新して、更新結果をまた検索するように実装します。

猫のDescriptionを「にゃーん」に変更してみます。

データが更新されているのが確認できました!

データを全件取得してみよう

全件のデータを取得するのは、今までの実装の中で一番簡単です。

全件検索のメソッドを呼び出して結果を返すだけです。

確認

それではリクエストしてみましょう。

全件取れましたね!

データを削除してみよう

次は、「Name」をキーに削除する処理を実装します。

確認

それでは、リクエストしてみましょう!

今入っているデータは、下記のとおりです。

「肉」を指定して、削除してみましょう。

「肉」の項目が消えて、「猫」と「犬」のみになりましたね。

削除処理はこれで完了です!

第11回へつづく!

これで、ObjectBoxを用いたAPIの実装は終わりとなります。

簡単なアプリケーションやAPIなら有用じゃないでしょうか。

あまり認知度は高くないですが、多くの言語に対応しており、速度もそこそこ速いので ObjectBox はオススメです。

ぜひ使ってみてください!

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

Go言語でのシステム開発依頼・お見積もりはこちらまでお願いします。
また、Go言語を扱えるエンジニアを積極採用中です!詳しくはこちらをご覧ください。

次回の記事はこちら

オススメのGo入門本

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る

 

こちらの記事もオススメ!

第1回の記事はこちら

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア