为了账号安全,请及时绑定邮箱和手机立即绑定

邮递员中未显示 Golang Rest api 数据

邮递员中未显示 Golang Rest api 数据

Go
慕斯王 2023-06-05 18:32:24
我面临一个问题,我在 Go 中制作了一个 api,一切正常,但我没有在邮递员中获取数据。当我在日志中打印数据时,我正在正确获取数据,但它在邮递员中显示空白数据。authorizeModel.gofunc GetSkillList() map[string]interface{} {    db := GetDB()    var (        // id        int        skillName string    )    type SkillList struct {        name string    }    skillList := SkillList{}    skillArr := []SkillList{}    rows, err := db.Query("select DISTINCT(name) as name from skills where company_id IN ('2') and name != 'Skill Needed' order by name")    if err != nil {        log.Fatal(err)    }    defer rows.Close()    for rows.Next() {        err := rows.Scan(&skillName)        if err != nil {            log.Fatal(err)        }        skillList.name = skillName        skillArr = append(skillArr, skillList)    }    response := u.Message(true, "Skill list retrieved successfully")    response["data"] = skillArr    log.Println(skillArr)    response["authorization"] = false    return response}authController.govar SkillTagList = func(w http.ResponseWriter, r *http.Request) {    resp := models.GetSkillList()    u.Respond(w, resp)}路线.gorouter.HandleFunc("/api/v1/authorize/skillTagList", controllers.SkillTagList).Methods("POST")如果你看到 authorizeModel.go 我已经在日志中打印了我的数据,我在日志中成功获取了该数据。但是请看下面的邮递员截图。
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

你必须重命名nameName

我不确定是什么u.Respond(),所以我假设它是您正在使用的某个框架的辅助函数,并且我假设u.Respond()它在内部使用 json.Marshal。

如果您的结构有未导出的字段(在您的情况下,字段名称以小写字母开头name),则json.Marshal无法访问这些字段,结果将没有name字段。这就是您在 JSON 中获取空对象的原因。


查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信