Skip to content

tmk3s/go.echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go.echo

go

https://echo.labstack.com/docs/quick-start

Dockerfile

# https://hub.docker.com/_/golang
FROM golang:1.22

ENV LANG C.UTF-8
ENV APP_ROOT /app
WORKDIR /usr/src/app

docker-compose.yml

version: '3' # composeファイルのバージョン
services:
  app: # サービス名
    build: # ビルドに使うDockerファイルのパス
      context: .
      dockerfile: ./Dockerfile
    volumes: # マウントディレクトリ
      - ./app:/usr/src/app
    tty: true # コンテナの永続化
    # env_file: # .envファイル
    #   - ./build/.go_env
    environment:
      - TZ=Asia/Tokyo

docker-cmpose up -d docker exec -it app /bin/bash

root@d30898d171ec:/usr/src/app# go mod init app go: creating new go.mod: module app

root@d30898d171ec:/usr/src/app# go version go version go1.22.4 linux/amd64 root@d30898d171ec:/usr/src/app# go get github.com/labstack/echo/v4 ⇩ go.sumが作成される

Create server.go

package main

import ( "net/http"

"github.com/labstack/echo/v4"

)

func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Logger.Fatal(e.Start(":1323")) }

Start server

$ go run server.go

docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 183eb6fcc4c7 goecho-app "bash" 4 seconds ago Up 4 seconds 0.0.0.0:1323->1323/tcp goecho-app-1

port=>OK

ホットリロード https://qiita.com/frkawa/items/1dd12e19f10de034e0f5 air-verse/air#605 (comment)

コマンド: go install github.com/air-verse/air@latest

2024-06-09 02:20:34 presentation/api/handler/auth_handler.go has changed 2024-06-09 02:20:34 building... 2024-06-09 02:20:34 db/db.go:4:5: no required module provides package github.com/jinzhu/gorm; to add it:

2024-06-09 02:20:34 go get github.com/jinzhu/gorm

2024-06-09 02:20:34 db/db.go:5:5: no required module provides package github.com/jinzhu/gorm/dialects/sqlite; to add it:

2024-06-09 02:20:34 go get github.com/jinzhu/gorm/dialects/sqlite

2024-06-09 02:20:34 presentation/api/handler/auth_handler.go:7:5: no required module provides package github.com/dgrijalva/jwt-go; to add it:

2024-06-09 02:20:34 go get github.com/dgrijalva/jwt-go

2024-06-09 02:20:34 presentation/api/handler/auth_handler.go:8:5: no required module provides package github.com/labstack/echo; to add it:

2024-06-09 02:20:34 go get github.com/labstack/echo

2024-06-09 02:20:34 presentation/api/handler/auth_handler.go:9:5: no required module provides package github.com/labstack/echo/middleware; to add it:

2024-06-09 02:20:34 go get github.com/labstack/echo/middleware ⇩ https://sumito.jp/2021/04/23/go1-16-build-error-github-com-missing-package/ go mod tidy

https://echo.labstack.com/docs/middleware/jwt https://echo.labstack.com/docs/middleware/logger#configuration https://qiita.com/atsutama/items/68773112208c7fc05069 https://qiita.com/x-color/items/24ff2491751f55e866cf https://echo.labstack.com/docs/binding https://gorm.io/ja_JP/docs/delete.html https://apidog.com/jp/blog/axios-put-request/ https://github.com/golang-jwt/jwt/blob/main/example_test.go

docker でログ見れない問題 エラーチェック毎回しないといけない ポインタとか jwt周りの設定