客户端输出
会话上下文Context中暴露了http.ResponseWriter,可通过它来对客户端响应各种数据。
输出String
- dispatcher.Router.GET("/", func(ctx *httpdispatcher.Context) error {
- //设置HTTP状态码
- ctx.ResponseWriter.WriteHeader(200)
- //要输出的内容
- ctx.ResponseWriter.Write([]byte("输出给客户端的字符串"))
- return nil
- })
输出JSON
- dispatcher.Router.GET("/json", func(ctx *httpdispatcher.Context) error {
- //定义json结构体
- var resp struct{
- ID int `json:"id"`
- Nickname string `json:"nickname"`
- }
- //赋值json数据
- resp.ID = 123
- resp.Nickname = "dxvgef"
- //序列化json
- data, err := json.Marshal(&resp)
- if err != nil {
- return ctx.Return(err)
- }
- //设置头信息中的文档类型及编码
- ctx.ResponseWriter.Header().Set("Content-Type", "application/json; charset=UTF-8")
- //设置HTTP状态码
- ctx.ResponseWriter.WriteHeader(200)
- //输出JSON数据
- ctx.ResponseWriter.Write(data)
- return nil
- })