我如何告诉PATCH方法我要更新哪个字段

时间:2019-05-07 09:53:16

标签: sql sqlite go

我正在使用一个简单的REST API,并且在使用PATCH方法时遇到了麻烦。我不知道如何告诉方法和查询数据库中要更新的字段(例如,哪些字段作为JSON传递)。这是我到目前为止所拥有的。

func PatchServer(c echo.Context) error {
    patchedServer := new(structs.Server)
    requestID := c.Param("id")
    if err := c.Bind(patchedServer); err != nil {
        return err
    }
        sql := "UPDATE servers SET server_name = CASE WHEN ? IS NOT NULL THEN ? END WHERE id = ?"
        stmt, err := db.Get().Prepare(sql)
    if err != nil {
        panic(err)
    }
    _, err2 := stmt.Exec(patchedServer.Name, patchedServer.Name, requestID)
    if err2 != nil {
        panic(err2)
    }
    fmt.Println(patchedServer.ID, patchedServer.Name, patchedServer.Components)
    fmt.Println("Requested id: ", requestID)
    return c.JSON(http.StatusOK, "Patched!")
    }

0 个答案:

没有答案