- docker
- go 1.21
.env
(local development only)
REDIS_HOST="localhost"
REDIS_ADDR="6379"
REDIS_DB="0"
REDIS_POOL="1000"
REDIS_PWD=""
ECHO_ADDR="1323"
make up
go run .
Postmanなどを使うと便利です
流れ
- /info でユーザー情報を登録
- /info/:id でユーザー情報が取得できるか確認
- /pos でユーザーの位置情報を登録
再起動した場合Infoが消えるので1,2をやり直さないとダメ(現状永続化してない やります)
-
[GET] /ping
-
response
{ "message": "PONG" }
-
-
[POST] /info
-
request
{ "id": "shiyui", "name": "しゆい", "like": "Go", "dislike": "", "From": "Ibaraki" }
-
response
{ "id": "shiyui", "name": "しゆい", "like": "Go", "dislike": "", "From": "Ibaraki" }
-
-
[GET] /info/:id
-
response
{ "id": "shiyui", "name": "しゆい", "like": "Go", "dislike": "", "from": "Ibaraki", "friends": [ "kyre", "sayoi" ], "collection": { "like": { "TypeScript": 2 }, "dislike": { "C": 1, "Python": 1 }, "from": { "Ibaraki": 1, "大阪": 1 } }, "record": { "2023-08-18": 2 } }
-
-
[POST] /pos
Infoに登録されているユーザーのみ、postを受け付けられます。
Infoは現状永続化されていないので、再起動するたびにInfoを登録しなおさないとだめ
Redisに保存してるid,lat,lonは再起動しても消えません。(redis-dataみたいなdirectoryが生成されるはず)-
request
{ "id": "shiyui", "lat": 1, "lng": 1 }
-
response
{ "cnt": 2, "users": [ { "id": "sayoi", "lat": 1.1, "lon": 1.1 }, { "id": "kyre", "lat": 1.2, "lon": 1.2 } ] }
-