golang 開発 マイクロフレームワーク Gin インストール テストと導入
概要
Ginは、エレガントなパッケージングとフレンドリーなAPIを備えたgolangのマイクロフレームワークです。高速で柔軟性があり、フォールトトレラントで使いやすくなっています。
Ginのダウンロードはこちら
https://github.com/gin-gonic/gin
英語のドキュメント
https://gin-gonic.com/docs/
インストール方法
go get -u github.com/gin-gonic/gin
テスト
リードパッケージ
import "github.com/gin-gonic/gin"
import "net/http" //the project uses http.StatusOK
ステップ
ルーターを登録する
router := gin.Default()
ルートハンドリングの登録
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World")
})
実行(デフォルトは8080番ポート)
if true{
router.Run() // default port: 8080 http://localhost
}else{
router.Run(":9999") //finger end port: 9999 http://localhost:9999
}
出力の形式を切り替えます
json形式を返す
func (c *Context) JSON(code int, obj interface{})
xml形式を返す
func (c *Context) XML(code int, obj interface{})
yaml形式を返す
func (c *Context) YAML(code int, obj interface{})
戻り値の文字列形式
func (c *Context) String(code int, format string, values . .interface{})
html テンプレートをレンダリングして返します。
func (c *Context) HTML(code int, name string, obj interface{})
ステータスコード
このステータスコードは、200、500、404 などの数字として手動で指定できるだけでなく、http パッケージのステータスコードも使用でき、意味的に理解しやすくなっています。
http-statusのドキュメントです。
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
httpステータスコードの詳細です。
http://tool.oschina.net/commons?type=5
HTTPステータスコードの分類
<テーブル カテゴリー 説明 1** サーバーがリクエストを受け取り、操作を継続するために要求者を必要とするメッセージです。 2** 成功、操作を正常に受信し、処理された 3** リダイレクト、リクエストを完了するためにさらなるアクションが必要です。 4** クライアントエラー、リクエストに構文エラーが含まれているか、リクエストを完了できません。 5** サーバーエラー、サーバーがリクエストを処理している間にエラーが発生しました。一般的なステータスコード
200 リクエスト成功
404 リクエストに失敗しました。サーバーはクライアントのリクエストに基づくリソース(ウェブページ)を見つけることができなかったのです。
500 Internal server error, リクエストを完了することができませんでした。
プロジェクトにインポートする
import "net/http"
package http
const (
StatusOK = 200 // RFC 7231, 6.3.1
StatusMultipleChoices = 300 // RFC 7231, 6.4.1
StatusNotFound = 404 // RFC 7231, 6.5.4
StatusInternalServerError = 500 // RFC 7231, 6.6.1
)
使用例
package main
import(
"github.com/gin-gonic/gin"
"net/http"
"fmt"
)
func main() {
//1. register a router
router := gin.Default()
//2. Registering for route processing
//default request http://localhost:8080/
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, fmt.Sprintln(gin.H{"data":"default request"}))
})
//post request string format words http://localhost:8080/string
router.GET("/string", func(c *gin.Context) {
c.String(http.StatusOK, fmt.Sprintln("post request string formatting"))
})
//post request json formatted http://localhost:8080/json
router.POST("/json",func (c *gin.Context) {
c.JSON(http.StatusOK,gin.H{"name":"post request json formatted words","age":18})
})
//delete request xml formatted http://localhost:8080/xml
router.DELETE("/xml",func (c *gin.Context) {
c.XML(http.StatusOK,gin.H{"name":"delete request xml formatted","age":18})
})
//patch request yaml formatting http://localhost:8080/yaml
router.PATCH("/yaml",func (c *gin.Context) {
c.YAML(http.StatusOK,gin.H{"name":"patch request yaml formatting","age":18})
})
//get request html interface display http://localhost:8080/html
router.GET("/html",func (c *gin.Context) {
router.LoadHTMLGlob(". /view/tem/index/*") // This is the index of the foreground
// router.LoadHTMLGlob("". /view/tem/admin/*") // This is the backend index
// router.LoadHTMLFiles("". /view/tem/index.html") // Specify to load certain files
c.HTML(http.StatusOK,"index.html",nil)
})
//3. Run (default is port 8080)
router.Run()
}
フロントエンド
<ブロッククオートパス: $GOPATH/src/view/tem/index/
<!DOCTYPE html>
<html lang="zh-cn" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1>front-end index</h1>
</body>
</html>
以上、golangマイクロフレームワークGinのインストールテストと導入の詳細でしたが、Ginのインストールテストと導入についての詳細は、スクリプトハウスの他の関連記事に注意してください!.
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
golang マイクロサービスフレームワーク 基本的なGin 基本的なルーティング 使い方 詳細
-
golang 開発 インストール go-torch フレームチャート 操作手順
-
Go言語プログラミング学習golang設定golint
-
囲碁言語の基本的なif条件文の使い方と例
-
Go言語 初心者のための7つのチュートリアル VI ネットワーク・プログラミング
-
Golang言語の学習は、Goの反射の例のチュートリアルをピンダウンする
-
golangでのtarによるファイルの圧縮・解凍の詳細
-
囲碁相互排他ロックと読み書き相互排他ロックの実装
-
2つのcsvの実装例をマージするために移動します。
-
Go(...)の3つのポイントを徹底分析 使用方法