ctx.Response
即http.ResponseWriter
.
Text
func text(ctx *clevergo.Context) error {
return ctx.String(http.StatusOK, "hello world")
}
HTML
func html(ctx *clevergo.Context) error {
return ctx.HTML(http.StatusOK, "<html><body>hello world</body></html>")
}
func htmlBlob(ctx *clevergo.Context) error {
return ctx.HTMLBlob(http.StatusOK, []byte("<html><body>hello world</body></html>"))
}
Render
渲染一个模板,详情参阅视图。
JSON
func json(ctx *clevergo.Context) error {
return ctx.JSON(http.StatusOK, map[string]interface{}{
"message": "hello world",
})
}
func jsonBlob(ctx *clevergo.Context) error {
return ctx.JSONBlob([]byte(`{"message":"hello world"}`))
}
JSONP
func jsonp(ctx *clevergo.Context) error {
return ctx.JSONP(http.StatusOK, map[string]interface{}{
"message": "hello world",
})
}
func jsonpCallback(ctx *clevergo.Context) error {
return ctx.JSONPCallback(http.StatusOK, "myCallback", map[string]interface{}{
"message": "hello world",
})
}
XML
func xml(ctx *clevergo.Context) error {
return ctx.XML(http.StatusOK, map[string]interface{}{
"message": "hello world",
})
}
func xmlBlob(ctx *clevergo.Context) error {
return ctx.XMLBlob(http.StatusOK, []byte(`<xml><message>hello world</message></xml>`))
}
Emit
Emit
发出一个带有给定状态码、内容类型和字符串数据的响应。
func emit(ctx *clevergo.Context) error {
return ctx.Emit(http.StatusOK, "text/html", "data")
}
Blob
Blob
发出一个带有给定状态码、内容类型和字节块数据的响应。
func blob(ctx *clevergo.Context) error {
return ctx.Blob(http.StatusOK, "text/html", []byte("data"))
}
Redirect
func redirect(ctx *clevergo.Context) error {
ctx.Redirect("/login", http.StatusFound)
return nil
}
SendFile
发送文件让浏览器下载。
func download(ctx *clevergo.Context) error {
buf := bytes.NewReader([]byte("bar"))
return ctx.SendFile("foo.txt", buf)
}
快捷方式
方法 | |
---|---|
Context.Error | http.Error |
Context.NotFound | http.NotFoud |
Context.Redirect | http.Redirect |
Context.SetCookie | http.SetCookie |
Context.Write | http.ResponseWriter.Write |
Context.WriteHeader | http.ResponseWriter.WriteHeader |