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 |