4

我正在使用一个名为 echo ( https://github.com/labstack/echo )的轻量级 Web 框架,我正在尝试用它构建一个非常简单的 API。

这是我的路线之一

 e.Get("/v1/:channel/:username", getData)

这是 getData 函数,它从 mysql 数据库中执行非常简单的 SELECT

func getData(c echo.Context) error {
  quote := new(Quote)  
  for rows.Next() {
        var username string
        var message string
        err = rows.Scan(&username, &message)
        checkErr(err)
        quote.username = username
        quote.message = message
  }
  log.Println(quote)

  defer rows.Close()
  return c.JSON(http.StatusOK, quote)
}

我也有这个返回值的基本结构

type Quote struct {
    username string
    message  string
}

可悲的是,我现在不知道如何返回 JSON。当我尝试此代码时,来自服务器的响应总是只是{} 我尝试返回 c.String,它工作正常并输出响应,但我想返回一个 JSON。

我按照这个例子,在这里看不出问题。 https://github.com/labstack/echox/blob/master/recipe/crud/main.go

知道我做错了什么吗?

4

1 回答 1

12

您的结构没有可导出的值,因为名称是小写的。

type Quote struct {
    Username string `json:"username"`
    Password string `json:"password"`
}

您还可以注释我在代码片段中发布的编组密钥的名称,因此如果您想将名称从内部表示更改为外部表示,您可以。

于 2016-04-08T13:03:55.837 回答