gpt4 book ai didi

postman 中未显示 Golang Rest api 数据

转载 作者:数据小太阳 更新时间:2023-10-29 03:39:33 24 4
gpt4 key购买 nike

我面临一个问题,我在 Go 中制作了一个 api,一切正常,但我没有在 postman 中获取数据。当我在日志中打印数据时,我正在正确获取数据,但它在 postman 中显示空白数据。

authorizeModel.go

func 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.go

var SkillTagList = func(w http.ResponseWriter, r *http.Request) {

resp := models.GetSkillList()
u.Respond(w, resp)
}

路线.go

router.HandleFunc("/api/v1/authorize/skillTagList", controllers.SkillTagList).Methods("POST")

如果您看到 authorizeModel.go,我已经在日志中打印了我的数据,我正在日志中成功获取该数据。但是请看下面的 postman 截图。

enter image description here

最佳答案

You have to rename name to Name

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

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

关于 postman 中未显示 Golang Rest api 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54665363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com