[Golang/Go言語]GinフレームワークでAPI開発1~Hello アプリ~

golang

こんにちは。KOUKIです。

とあるWeb系企業で、Goエンジニアをやっています。

今日は、Go言語のフレームワークである「Gin」を使ってAPI開発手法を紹介します。

環境

Mac + Chromeで開発します。

Ginとは

Ginは、高パフォーマンスを発揮するWebフレームワークです。

以下の特徴があります。

  • シンプルで不変的
  • 高速で拡張性が高い
  • 効率的な実行やコンパイル
  • コミュニティが活発
  • ドキュメントが豊富
  • 最小限のフレームワークで簡潔

Go自体も結構愛されて来てます。

StackOverflowより

上から10番目…! 結構微妙か!

プロジェクト準備

プロジェクトを準備しましょう。

Hello Appの作成

それでは、Ginで簡単なWebアプリを作っていきましょう。

ginでは、最初にrouterを作成します。これはginのDefaultメソッドから呼び出すことで達成できます。

次に、このrouterにHTTPリクエストを追加します。これによりリクエストの振り分けができるようになります。

上記のサンプルコードでは、「/」+8080番ポート(後述)にアクセスすると「hello world」の文字列が返却されます。

そして、RunメソッドでWebサーバーを起動する流れです。

このプログラムを実行するには、Terminal上で以下のコマンドを押下します。

[GIN-debug] Listening and serving HTTP on :8080」とあるように、8080番ポートでWeb Serverが起動しました。デフォルトが8080番ポートの様ですが、この番号は開発者が自由に変更できます。

動作確認をしましょう。

完璧ですね!

Port番号の変更も試してみましょう。この場合は、Runメソッドに引数として渡します。

簡単ですね。

カスタムHTTPハンドラー

次に、カスタムHTTPハンドラーを実装しましょう。

「*gin.Context」を引数に持つハンドラー関数を定義すればOKです。

router.GETがシンプルになったと思います。

パラメータを渡すことも可能です。

ByNameメソッドは、与えられたKey(ここではname)からデータを取得する便利メソッドです。

テストをしてみましょう。Ctl + Cでサーバーを落としてから、もう一度go runコマンドを実行します。

ちゃんとURLに指定したパラメータ(selfnote)が取得できましたね!

柔軟なハンドラー

もっと柔軟なハンドラーを作成可能です。

以下はその例です。

戻り値をXMLにしました。Webサーバーを起動し直して、テストしてみましょう。

OKですね。ブラウザからだともっとわかりやすいかもしれません。

次回

次回は、GRUDの実装を行います。

Go記事まとめ

Go記事をまとめます。

コメントを残す