Skip to content
This repository has been archived by the owner on Jul 10, 2022. It is now read-only.

kmdkuk/gin-auth

Repository files navigation

gin-auth

CI

getting start

cp .env.sample .env
docker-compose up -d
# user create
curl -X 'POST' 'http://localhost:3000/users' -H 'accept: */*' -H 'Content-Type: application/json' -d '{"user_id": "string","password": "string"}'
# user login
curl -v -X 'POST' 'http://localhost:3000/login' -H 'accept: */*' -H 'Content-Type: application/json' -d '{"user_id": "string", "password": "string" }'
# Set-Cookieの内容をコピー
MYSESSION="コピペした内容"
# MYSESSION=MTYzNDQ1NzQzOHxEdi1CQkFFQ180SUFBUkFCRUFBQUp2LUNBQUVHYzNSeWFXNW5EQWdBQm5WelpYSnBaQVp6ZEhKcGJtY01DQUFHYzNSeWFXNW58rm4-L73uxKp-8TQsHfvIWz-7ybCprjQOifKwJcn2jYY=
curl -X 'GET' 'http://localhost:3000/users' -H 'accept: */*' -H 'Cookie: MYSESSION=${MYSESSION}'

architecture

❯ tree -d
.
├── constants       : いろんな場所で共通した定数
├── db              : Databaseとのコネクション
├── docs            : swagger用のyaml置き場
├── handler         : ginに渡すハンドラー実装してる場所(controllerといった方が良いかも)
├── middleware      : 認証確認するためのmiddleware
├── model           : DBに保存しておきたいModel(今回の例ならUser)を定義
├── mysql           : mysqlの設定、初期起動時のscript
│   └── init
└── repository      : DatabaseからModelを取り出す部分を実装している場所

10 directories

handlerは、repositoryに依存 repositoryは、Databaseに依存

TODO

  • repositoryをMockにしたら、DBに依存することなくhandlerをテスト
  • DBのパスワードとかを、環境変数にする

参考にしたBlog

https://zenn.dev/someone7140/articles/02181927acd040

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published