golang-Martiniフレームワークの基本的な使用方法
5154 ワード
Martini
Martiniはモジュール化されたWebアプリケーションを記述するために生まれた強力なGO言語フレームワークであり、その中に大量のWebツールパッケージが集積され、開発者の使用を極めて便利にし、コードをより簡潔で明確にし、開発効率を高めた.
単純な応用
使用前にmartiniパッケージをインストールする必要があります
インストールが完了すると使用できます.まず、フレームワークを理解するための簡単なコードを見てみましょう.
コアMartini
Martiniをより迅速に有効にするためにmartiniが提供された.Classic()メソッドは、使用するたびに煩雑なプログラミングを回避し、開発プロセスを簡素化するために、いくつかの基本的な操作を一歩前進させる.
プロセッサー
Get処理のようなイベントの処理に使用されるのはhttpのrequest要求でありfuncに処理方法を書き込む
うんてん
上記のコードを実行
実行後、ローカルサーバが起動する、デフォルトのリスニングポートは
フレームワークの利点の使用は極めて簡単である. 無侵入式の設計. は他のGo言語パッケージとよく連携して使用されています. 超絶経路マッチングとルーティング. モジュール化の設計-機能部品の挿入が容易であり、引き抜きも容易である. には多くのミドルウェアが直接使用できる. のフレーム内にはすでに良い開梱即用の機能サポートがある. 完全互換http.HandlerFuncインタフェース
常用ミドルウェア acceptlang- accessflags-アクセス制御プロセッサを有効にする. auth-認証プロセッサ. binding-raw要求が構造体(structure)内のプロセッサにマッピング/検証される. cors-CORSをサポートするプロセッサを提供します. csrf-アプリケーションにCSRF保護を提供します. encoder-複数のフォーマットのデータレンダリングまたはコンテンツ交渉のための符号化サービスを提供します. gzip-giz方式で要求情報を圧縮するプロセッサ. gorelic-NewRelicミドルウェア logstasher-logstashログ互換JSONミドルウェア method-要求ヘッダまたはフォームドメインを介してHTTPメソッドを上書きします. oauth 2-OAuth 2.0ベースのアプリケーション登録プロセッサ.Google、Facebook、Githubのログインをサポートします. permissions 2-ユーザー、ログインステータス、およびパーミッションコントローラ を追跡 render-JSONとHTMLテンプレートをレンダリングするプロセッサ. secure-いくつかのセキュリティ面での迅速なソリューションを提供します. sessions- sessionauth-ルーティングにログインを必要とする簡単な方法を提供し、Sessionでユーザログイン を処理する. strip-指定したURL接頭辞をフィルタします. strip-URL接頭辞剥離. staticbin-バイナリデータから静的ファイルサービスを提供するプロセッサ. throttle-要求レート調整ミドルウェア. vauth-webhook認証を担当するプロセッサ(現在GitHubとTravisCIをサポートしています). web - hoisie web.go’s Context
Martiniはモジュール化されたWebアプリケーションを記述するために生まれた強力なGO言語フレームワークであり、その中に大量のWebツールパッケージが集積され、開発者の使用を極めて便利にし、コードをより簡潔で明確にし、開発効率を高めた.
単純な応用
使用前にmartiniパッケージをインストールする必要があります
go get github.com/go-martini/martini
インストールが完了すると使用できます.まず、フレームワークを理解するための簡単なコードを見てみましょう.
package main
import "github.com/go-martini/martini"
func main() {
m := martini.Classic()
m.Get("/", func() string {
return "Hello world!"
})
m.Run()
}
コアMartini
Martiniをより迅速に有効にするためにmartiniが提供された.Classic()メソッドは、使用するたびに煩雑なプログラミングを回避し、開発プロセスを簡素化するために、いくつかの基本的な操作を一歩前進させる.
m := martini.Classic()
// ... middleware and routing goes here
m.Run()
プロセッサー
Get処理のようなイベントの処理に使用されるのはhttpのrequest要求でありfuncに処理方法を書き込む
m.Get("/", func() {
println("hello world")
})
うんてん
上記のコードを実行
go run main.go
実行後、ローカルサーバが起動する、デフォルトのリスニングポートは
localhost:3000
である.もちろん、自分でポートを設定することもできます m := martini.Classic()
// ...
m.RunOnAddr(":8080")
フレームワークの利点
常用ミドルウェア
Accept-Language
HTTPヘッダを解析するプロセッサ.Session
サービスをサポートするプロセッサを提供します.