小编Ber*_*i92的帖子

如何指定模型与模型关联但没有任何依赖性?

我在 GORM 中有两个模型如下:

    type (
    Todo struct {
        gorm.Model
        EventId     int64      `json:"event_id" form:"event_id" binding:"required"`
        UserId      uint       `json:"user_id" form:"user_id"`
        DoneUserId  uint       `json:"done_user_id" form:"done_user_id"`
        Groups      string     `json:"groups" form:"groups"`
        DoneAt      *time.Time `json:"done_at" form:"done_at"`
        TodoEnd     time.Time  `json:"todo_end" form:"todo_end" binding:"required"`
        Priority    uint       `json:"priority" form:"priority" binding:"required"`
        Done        bool       `json:"done" form:"done"`
        Title       string     `json:"title" form:"title" binding:"required"`
        Description string     `json:"description" form:"description"`
        CreatorId   uint       `json:"creator_id"`
        ChangerId   uint       `json:"changer_id"`
        Event       Event      
    }
)
Run Code Online (Sandbox Code Playgroud)

type (
    Event struct {
        gorm.Model
        CustomerId    uint      `json:"customer_id" form:"customer_id" binding:"required"`
        AddressId     uint      `json:"address_id" form:"address_id" binding:"required"` …
Run Code Online (Sandbox Code Playgroud)

go go-gorm

6
推荐指数
1
解决办法
73
查看次数

如何将多个组添加到 gin 路由以进行 api 版本继承?

我目前正在使用 Go + Gin 开发 API。

API 应包含版本字符串,例如字符串 v1

http://127.0.0.1:3000/v1/user/get_username
Run Code Online (Sandbox Code Playgroud)

那没问题,因为我可以用 Gin 创建一个组

v1 := router.Group("/v1")
v1.GET("/user/get_username", modules.UserGetUsername)
Run Code Online (Sandbox Code Playgroud)

但是...如果我开始一个新的 API 版本“v2”并且函数 UserGetUsername 中的代码没有改变,我必须执行以下操作

v1 := router.Group("/v1")
v1.GET("/user/get_username", modules.UserGetUsername)
v2 := router.Group("/v2")
v2.GET("/user/get_username", modules.UserGetUsername)
Run Code Online (Sandbox Code Playgroud)

有没有更好的解决方案 - 也许是这样的:

v1_v2 := router.Group("/v1").AnotherGroup("/v2")
v1_v2.GET("/user/get_username", modules.UserGetUsername)
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议。

go go-gin

4
推荐指数
1
解决办法
8608
查看次数

标签 统计

go ×2

go-gin ×1

go-gorm ×1