単純なプロジェクトを実施するためのジンフレームワーク③

着手するには:ジンフレームパッケージ自身のルーティングを②

このプロジェクトのために、さまざまな機能モジュールを分離、いわゆる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)
     リターン
}
コードの表示

 

おすすめ

転載: www.cnblogs.com/ybf-yyj/p/11910902.html