🦁
登録APIの実装(Go/echo/GORM+PostgreSQL16.4)
以下のAPIを実装していきます。
/user
body
{
"name":name,
"mail":mail,
"age":age
}
まずはモデルを整備してテーブルを作成する。
user.go
package model
import (
"exit/conf"
"github.com/google/uuid"
)
type User struct {
Uuid string
Name string
Mail *string
Age string
}
func InitUserTable() {
// Create
uuid, err := uuid.NewRandom()
if err != nil {
panic(err)
}
conf.MainDB.Create(&User{Uuid: uuid.String(), Name: "くさかり", Mail: nil, Age: "30"})
}
APIの登録部分。リクエストから受け取った情報を元に、uuidを作ってDBにinsertする。
api.go
package api
import (
"exit/conf"
"exit/model"
"net/http"
"github.com/google/uuid"
"github.com/labstack/echo/v4"
)
func AddUser(c echo.Context) error {
u := new(model.User)
uuid, err := uuid.NewRandom()
if err != nil {
panic(err)
}
if err := c.Bind(u); err != nil {
return err
}
u.Uuid = uuid.String()
conf.MainDB.Create(&u)
return c.JSON(http.StatusOK, u)
}
PostのAPIは作成できました。次はGetのAPIを作成して、Post→Getのテストを実装します。
Discussion