第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

GORM GIN 更新查詢導(dǎo)致 500 內(nèi)部服務(wù)器錯(cuò)誤

GORM GIN 更新查詢導(dǎo)致 500 內(nèi)部服務(wù)器錯(cuò)誤

Go
寶慕林4294392 2022-12-13 10:44:00
我正在使用 Gin 和 GORM 在 Golang 中構(gòu)建 Book API。我已成功實(shí)施 API 的創(chuàng)建、獲取和刪除部分,但更新導(dǎo)致 500 內(nèi)部服務(wù)器錯(cuò)誤。我正在嘗試更新功能,它只更新正文中提供的特定標(biāo)簽(下面給出的示例)。非常感謝任何幫助或指導(dǎo)。去模型func UpdateBook(c *gin.Context) {    // Get model if exist    var book models.Book    if err := models.DB.Where("id = ?", c.Param("id")).First(&book).Error; err != nil {        c.JSON(http.StatusBadRequest, gin.H{"error": "Record not found!"})        return    }    // Validate input    var input UpdateBookInput    if err := c.ShouldBindJSON(&input); err != nil {        c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})        return    }    models.DB.Model(&book).Updates(input)    c.JSON(http.StatusOK, gin.H{"data": book})}UpdateBookInput 結(jié)構(gòu)type UpdateBookInput struct {    Title  string `json:"title"`    Author string `json:"author"`}主程序func main() {    router := gin.Default()    models.ConnectDatabase()    router.GET("/books", controllers.FetchBooks)    router.GET("/books/:id", controllers.FindBookByID)    router.GET("/books/title/:title", controllers.FindBookByTitle)    router.GET("/books/author/:author", controllers.FindBookByAuthor)    router.POST("/books", controllers.CreateBook)    router.PATCH("/books/:id", controllers.UpdateBook)    router.DELETE("/books/:id", controllers.RemoveBook)    router.Run()}請(qǐng)求 URL 和正文 URLPATCH http://127.0.0.1:8080/books/2身體{    "title": "Breaking Dawn",}方案/型號(hào)package modelstype Book struct {    ID     uint   `json:"id" gorm:"primary_key"`    Title  string `json:"title"`    Author string `json:"author"`}
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

我想 JSON 數(shù)據(jù)包含一個(gè)字符串類型的 ID 字段,因?yàn)檫@里唯一的 uint 字段是 ID。要么 gorm 對(duì)更新或類似的東西表現(xiàn)得很奇怪。

確保輸入是干凈的。


查看完整回答
反對(duì) 回復(fù) 2022-12-13
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

不要直接傳遞 UpdateBookInput 對(duì)象,而是將其轉(zhuǎn)換為models.Book對(duì)象。



查看完整回答
反對(duì) 回復(fù) 2022-12-13
  • 2 回答
  • 0 關(guān)注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)