panic serving runtime error: invalid memory address or nil pointer dereference

问题描述 投票:0回答:0

我正在尝试发送数据,当我使用 gorm 来 create() a &blog 我收到标题错误,我也尝试创建接口,但不要看,这无关紧要此刻,我只需要知道为什么我会得到一个nil以及如何解决它! :D

我在哪里得到错误:

type Blog_Interface interface {
    GetData()
}

func CreateNewBlog(s server.Server, db *gorm.DB) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-type", "application/json")
        w.WriteHeader(http.StatusOK)
        blog := blogController.BlogStruct{}
        id := uuid.NewString()
        err := json.NewDecoder(r.Body).Decode(&blog)
        blog.SetId(id)
        if err != nil {
            log.Fatal("ERROR")
            // http.Error(w, err.Error(), http.StatusBadRequest)
        }

        db.Create(&blog)
    }
}

型号:

type Blog struct {
    Id      string `json:"id" gorm:"type:string;default:string;primary_key"`
    Name    string `json:"name" gorm:"type:varchar(255);not null"`
    Content string `json:"content" gorm:"type:varchar(2000);not null"`
    Likes   int    `json:"likes" gorm:"type:integer" `
}

博客控制器有构造函数,没什么特别的。

go go-gorm
© www.soinside.com 2019 - 2024. All rights reserved.