着手するには:ジンフレームパッケージ自身のルーティングを②
このプロジェクトのために、さまざまな機能モジュールを分離、いわゆる3層モデルは、ここで個人的なアプローチを導入する必要があります。
ルーティングの責任contorller
データモデルは、プログラムの入力と出力の主な原因であります
サービスは、データ処理のために主に責任があります
utilsの一般的な方法は、データベース接続のように、ストレージの主な原因であります
コードは以下の通りであります:
プロジェクト - > index.go
主パッケージ のインポート( C " プロジェクト/コントローラ" " github.com/gin-gonic/gin " ) FUNCメイン(){ R&LT: = gin.Default() RR: = c.GinRouter(R&LT) // リッスンし、0.0 .0.0:8080サービス開始 rr.Run(" :8080 " ) }
プロジェクト - > controller-> index.go
パッケージコントローラ インポート( " FMT " " プロジェクト/コントローラ/秒" " github.com/gin-gonic/gin " ) GinRouter FUNC(R * gin.Engine)* gin.Engine { RR: = r.Group(" / " ) rr.GET(" /第一"、FUNC(C * gin.Context){ fmt.Println(" 第一......... " ) }) RR = r.Group(" / " ) 秒。ルータ(RR) リターンR }
プロジェクト - > controller-> 2次> index.go
第二のパッケージ のインポート( " FMT " MS " プロジェクト/モデル/秒" SS " プロジェクト/サービス/秒" " github.com/gin-gonic/gin " ) ルータFUNC(R * gin.RouterGroup){ :RR = Rを。グループ("" ) rr.POST(" /秒" 、機能) リターン } FUNC機能(C * gin.Context){ VARの入力ms.Input 場合 ERR:= c.BindJSON(&入力)。ERR!= nilの{ fmt.Println(ERR) } ss.Function(C、入力) リターン }
プロジェクト - >モデル - > 2次> index.go
第二のパッケージ 型入力構造体{ IdがINT: `ビュー" ID号":JSON " IDを" から:" ID " ` }
プロジェクト - >サービス - > 2次> index.go
第二のパッケージ のインポートを( " FMT " MS " プロジェクト/モデル/秒" " github.com/gin-gonic/gin " ) FUNC機能(C * {gin.Context、入力ms.Input) fmt.Println(「第二.. .......、入力:" 、input.Id) リターン }