如何在Go中制作可选的选择查询字符串

时间:2019-07-13 04:39:54

标签: go

我需要一口气在查询字符串中使用可选参数。

我尝试类似的事情:

func (app *App) getFunctionarys(w http.ResponseWriter, r *http.Request) {
    v := r.URL.Query()

    Id := v.Get("Id")
    Name := v.Get("Name")
    Cpf := v.Get("Cpf")
    Role:= v.Get("Role")
    Status := v.Get("Status")

    dbdata := &Funcionary{}
    err := app.Database.QueryRow("SELECT Id,DataCad,Role,Cpf,Name,Uf,Salary,Status FROM `funcionary` WHERE Id = ? OR Name= ? OR Cpf = ? OR Role= ? OR Status = ?", Id, Name, Cpf, Role, Status).Scan(&dbdata.Id, &dbdata.DataCad, &dbdata.Role, &dbdata.Cpf, &dbdata.Name, &dbdata.Uf, &dbdata.Salary, &dbdata.Status)

    if err != nil {
        log.Println(err)
    }

    w.WriteHeader(http.StatusOK)
    if err := json.NewEncoder(w).Encode(dbdata); err != nil {
        panic(err)
    }
}

我有5条记录,但是我的apiAPI的第一条记录返回了一条记录,与我的参数无关。如何在Go中将where过滤器作为可选参数?

0 个答案:

没有答案