具有 echo 框架的 golang API

golang API with echo framework

我正在使用一个名为 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)
}

我也有 return 值

的基本结构
type Quote struct {
    username string
    message  string
}

遗憾的是,我现在不知道如何 return JSON。 当我尝试此代码时,服务器的响应始终只是 {} 我试过 return c.String 它工作正常并输出响应但我想 return a JSON.

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

知道我做错了什么吗?

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

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

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