軽量HTTProuter(httprouter)

こんにちは、daihaseです。

今日は前回やった「net/httpパッケージを使ったWebサーバー」、このような処理もライブラリを使ってもっと楽に!そして高性能に!というのをお題とします。

そこで紹介するのがhttprouter。GitHubのスター数も凄いですね。これが全ての基準ではないですが、ただそれだけ利用者も多く人気ということかと。

httprouterはその名前が示すように、HTTPの要求を特定のハンドラにルーティングします。基本的なGo標準のnet/httpと比較して以下のような機能を備えています。

  • ルートパス内の変数を許可する
  • RESTメソッド(GET、POST、PUTなど)に対応
  • 高いパフォーマンス性を提供

早速簡単なサンプルを動かして見ましょう。

まずhttprouterを使うにはパッケージを取ってくる必要があるので以下コマンドを実行します。

あとはhttproutersample.goと名付けた全コードを見てみましょう。

これを実行してみます。

curlでも直接ブラウザ上からURLを叩いてもいいのですが、簡単なんでブラウザで見てみましょう。

ブラウザを起動し、http://localhost:8000/ と入力して叩いて見てください。

Hello World!の文字が出たかと思います。同じように http://localhost:8000/go-version と打ってみましょう。

環境にもよりますが、自分の場合はこのようになりました。最後にパラメータをパスに含めたURLを叩いてみます。

ブラウザに http://localhost:800/user/1 と入力してみましょう。

ちゃんと表示されましたね。
このようにhttprouterを使えば簡単にルーティングを実装出来ます。

どうでしょうか、これを使えば通常のnet/httpパッケージよりわかりやすくルーティングを組めるかと思います。Goは標準でも豊富なパッケージが揃っていますが、こうしたサードパーティーのツールやフレームワークなど活用すればより開発が楽になります。

それでは良い開発ライフを〜

スポンサーリンク
336 x 280 レクタングル(大)
336 x 280 レクタングル(大)