具有 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"`
}
您还可以按照我在代码片段中发布的方式注释编组密钥的名称,因此如果您想将名称从内部表示更改为外部表示,您可以。
我正在使用一个名为 echo (https://github.com/labstack/echo) 的轻型框架 Web 框架,我正在尝试用它构建一个非常简单的 API。
这是我的路线之一
e.Get("/v1/:channel/:username", getData)
这是 getData 函数,它从 mysql 数据库
中执行非常简单的 SELECTfunc 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"`
}
您还可以按照我在代码片段中发布的方式注释编组密钥的名称,因此如果您想将名称从内部表示更改为外部表示,您可以。