Goに基づくコンパクトなAPI開発の枠組みは、急速に業務開発が可能で、SOLID設計の原則に従います.
スネーク
高速開発業務に適したGoフレームワークは、主にAPIサービスを提供する.
プロジェクト住所:https://github.com/1024casts/snake
技術倉庫フレームのルーティングはginを使用して をルーティングする.ミドルウェアginフレームを使用したミドルウェア データベースコンポーネントgorm 文書はスワッグを用いて を生成する.ファイル解析ライブラリviper を構成する.は、JWTを用いて認証を行う .検証器validatorも、ginフレームのデフォルトの検証器であり、現在の最新バージョンはv 9バージョン である.タスクスケジュールクロン パッケージ管理ツールgo module テストフレームgoConvey CI/CD Githubアクション 特性は、RESTful API設計規範 に従う.は、GIN WEBフレームワークに基づいて、豊富なミドルウェアサポート(ユーザ認証、クロスドメイン、アクセスログ、要求周波数制限、追跡IDなど)を提供しています. GORMベースのデータベース記憶 JWT認証 は、Swaggar文書(スワッグベース) をサポートしています. makeを使用してGoプロジェクトを管理する は、shell(admin.sh)スクリプトを使用してプロセスを管理する .は、多環境構成 をサポートする.
ディレクトリ構造
TIPS:データベースとredisをローカルにインストールする必要があります. make helpビューア make depダウンロードgo依存パケット make buildコンパイルプロジェクト make swag-nit生成インターフェースドキュメント make test-coverge生成テストカバー make lintチェックコード規範 モジュールユーザ(例) インターフェース・ドキュメント 設定の説明 エラーコード設計 サービスの利用ルール repositoryの使用規則 cache使用説明 配置
単独配置
サーバーにアップロードしたら、直接コマンドを実行すればいいです.
もしdockerをインストールしたら、以下のコマンドでアプリケーションを起動できます.
Supervisordがインストールされている場合、設定ファイルに以下の内容を追加することができます. ログを更新 皆さん、一緒に討論したり、交流したり、PRしたりしてください.好きなら、スターをあげてもいいです.
高速開発業務に適したGoフレームワークは、主にAPIサービスを提供する.
プロジェクト住所:https://github.com/1024casts/snake
技術倉庫
ディレクトリ構造
├── Makefile #
├── conf #
├── config # Go package
├── db.sql # , MySQL , source db.sql
├── docs # swagger , swag init
├── handler # MVC C, , ,
├── log #
├── main.go #
├── model # model
├── pkg # package
├── repository #
├── router #
├── service #
├── schedule #
└── scripts # , ,
ダウンロード# , , GOPATH
git clone https://github.com/1024casts/snake
クイックスタートTIPS:データベースとredisをローカルにインストールする必要があります.
//
cd snake
//
cp config.sample.yaml config.local.yaml
//
make build
//
./scripts/admin.sh start
常用コマンドhttp://localhost:8080/swagger/index.html
開発規約単独配置
サーバーにアップロードしたら、直接コマンドを実行すればいいです.
./scripts/admin.sh start
Docker部署もしdockerをインストールしたら、以下のコマンドでアプリケーションを起動できます.
//
docker-compose up -d
//
http://127.0.0.1/health
SupervisordSupervisordがインストールされている場合、設定ファイルに以下の内容を追加することができます.
[program:snake]
# environment=
directory=/home/go/src/snake/
command=/home/go/bin_snake
autostart=true
autorestart=true
user=root
stdout_logfile=/home/log/snake_std.log
startsecs = 2
startretries = 2
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=10
stderr_logfile=/home/log/snake_err.log
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=10
Supervisordを再起動しますsupervisorctl restart
CHANGELOG