我们处理完用户的请求之后,通常我们都会返回html代码,然后浏览器就可以显示html内容;除了返回html,在api接口开发中,我们还可以返回json、xml、jsonp格式的数据。
下面分别介绍beego返回不同数据类型的处理方式。
注意:如果使用beego开发api,那么在app.conf中设置AutoRender = false, 禁止自动渲染模板,否则beego每次处理请求都会尝试渲染模板,如果模板不存在则报错。
1.返回json数据
下面是返回json数据的例子:
// 定义struct
// 如果struct字段名跟json字段名不一样,可以使用json标签,指定json字段名
type User struct {
// - 表示忽略id字段
Id int`json:"-"`
Username string `json:"name"`
Phone string
}
func (this *UserController) Get() {
// 定义需要返回给客户端的数据
user := User{1, "tizi365", "13089818901"}
// 将需要返回的数据赋值给json字段
this.Data["json"] = &user
// 将this.Data["json"]的数据,序列化成json字符串,然后返回给客户端
this.ServeJSON()