在處理請求 Api 請求中 , 除了對 Request 以外最重要的就是 Response 了 , PhalGo 支持兩種格式的參數返回一種是 Josn 一種是 XML , 在 PhalGo 中默認使用JSON進行返回 , 能夠在入口文件進行全局返回參數配置或在摸個接口內部指定此接口返回的參數類型json
Response 和 Request 同樣須要在 Api 中進行初始化:函數
Response := phalgo.NewResponse(c)
Response 默認返回格式以下:code
type RetParameter struct { Code int `json:"code";xml:"code"` Data interface{} `json:"data";xml:"data"` Msg string `json:"msg";xml:"msg"` }
code 爲請求的狀態碼 , data 是具體返回的數據 , msg 是返回內容的描述例如"成功" , "失敗"xml
咱們最經常使用的就是成功返回 , RetSuccess接受一個接口類型的參數 , 此參數會填充到 data 中 , 例子以下:接口
return Response.RetSuccess("hello " + name + " Welcome to PhalGo world")
若是須要返回自定的 msg 內容須要使用 SetMsg 方法 例子以下:開發
Response.SetMsg("成功")
注意 : 使用 RetSuccess 函數時 code 默認爲 1 , msg 默認爲""string
當咱們處理程序異常的時候 , 咱們會創建一個異常返回 , RetError 須要接受兩個參數一個是 error 會把報錯信息填充到 msg 中 , 另一個是 返回的code 例子以下:it
return Response.RetError(errors.New("No Name"), -1)
固然你若是要返回一些 Data 內容 , 也只須要使用 SetData :test
Response.SetData(map[string]string{"name" : "喵咪"})
PhalGo 固然也提供了靈活結果返回方法 RetCustomize 接受三個參數 , 分別是 code data msg 開發者能夠按照本身的需求返回本身想要的內容 , 例子以下:基礎
return Response.RetCustomize(201, map[string]string{"name":"喵咪"}, "成功")
固然你們也有本身要求的返回格式 PhalGo 並不約束你須要使用 code,data,msg 這類格式 , PhalGo 提供了 Ret 方法接受一個結構類型進行返回 , 開發者能夠按照約定的格式自行返回想要的內容 , 例子以下:
return Response.Ret(map[string]string{"name":"喵咪"})
最簡單粗暴的就是直接打印內容給到用戶 , Write 接受一個 []byte 類型 , Write 默認是無格式的 , 例子以下:
Response.Write([]byte("Debug:test Write"))
http 請求的一個重要內容就是 Status 碼 , PhalGo 能夠經過 SetStatus 方法來設置 , 例子以下:
Response.SetStatus(404)
此時返回的 Status 碼會是404
PhalGo 在支持 Json 的狀況下同時也支持 XML 返回格式 , 只須要經過 SetRetType 方法進行設置 , 例子以下:
phalgo.SetRetType(phalgo.RETMXL)
這裏有一個注意的狀況了 , 此設置在 API 中設置影響範圍只是此 API , 如需影響全局須要在 Main 中進行設置