Golang Rest API данные не отображаются в почтальоне - PullRequest
0 голосов
/ 13 февраля 2019

Я столкнулся с проблемой, когда я сделал API в Go, все работает нормально, но я не получаю данные в почтальоне.Когда я печатаю данные в журналах, я получаю данные правильно, но они показывают пустые данные в почтальоне.

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)
}

rout.go

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

Если вы видите authorizeModel.go, у меня естьнапечатал мои данные в журналах я получаю эти данные успешно в журналах.Но смотрите скриншот почтальона ниже.

enter image description here

1 Ответ

0 голосов
/ 13 февраля 2019

Вы должны переименовать name в Name

Я не уверен, что такое u.Respond(), поэтому я предполагаю, что это вспомогательная функция некоторого фреймворка, который выиспользуют, и я предполагаю, что u.Respond() внутренне использует json.Marshal.

Если в вашей структуре есть неэкспортированные поля (имя поля начинается с строчной буквы, в вашем случае name), json.Marshal не может получить доступ к этим полям, и результат не будет иметь поля name.Вот почему вы получаете пустые объекты в JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...