## 背景:假如前端或者提供的接口必須以指定的格式傳輸
## **json格式:會設置 content-type 為 application/json**
~~~
type TestController struct {
? beego.Controller
?
}
?
type Person struct {
? Id int
? Name string
? Gender string
}
?
func (g *TestController)Get() {
? test_data := Person{Id:123,Name:"zhiliao",Gender:"男"}
? g.Data["json"] = &test_data ? ? ? ? ? ? ? ? ? -----這里必須叫json,因為ServeJSON()解析json變量的
? fmt.Println(test_data)
? g.ServeJSON()
? //g.TplName = "test.html"
}
~~~
## **xml格式:會設置 content-type 為 application/xml**
~~~
test_data := Person{Id:123,Name:"zhiliao",Gender:"男"}
g.Data["xml"] = &test_data ? ? ? ? ? ? ? ? ? ? ? ? ? -----這里必須叫xml,同上
g.ServeXML()
~~~
## **jsonp格式:會設置 content-type 為 application/javascript**
~~~
test_data := Person{Id:123,Name:"zhiliao",Gender:"男"}
g.Data["jsonp"] = &test_data ? ? ? ? ? ? ? ? ? ? ? -----這里必須叫jsonp,同上
g.ServeJSONP()
~~~
## **yaml格式:會以文件傳輸的方式,yaml就是鍵值對**
~~~
test_data := Person{Id:123,Name:"zhiliao",Gender:"男"}
g.Data["yaml"] = &test_data
g.ServeYAML()
~~~
yaml格式:
~~~
student:
- name : "zhiliao"
- age : 18
?
teacher:
- name : "laowang"
-age : 38
?
?
addr: "市區"
~~~
~~~
說明: ?
1.大小寫敏感
2.使用縮進表示層級關系
3.縮進不允許使用tab,只允許空格
4.縮進的空格數不重要,只要相同層級的元素左對齊即可
5.'#'表示注釋
6.以 - 開頭的行表示構成一個數組,支持多維數組
~~~
- go環境搭建
- 解決go get網絡慢的問題
- beego的安裝
- bee的安裝
- 編輯器
- go module
- 配置文件詳解
- 配置文件其他說明
- 路由方法
- 路由
- 數據校驗
- 校驗函數
- 頁面跳轉
- 獲取前端數據
- json文件的獲取
- xsrf的用法
- xsrf的防護
- srfs和json的搭配
- flash的用法
- 過濾器
- url反轉
- 各類數據的處理
- 模板函數
- 內置模板函數
- 自定義模板函數
- 模板
- 模板處理
- 模板渲染
- 視圖文件的處理
- 靜態文件
- 請求方式判斷
- 驗證碼
- 另一種方法
- 分頁類
- session
- 登錄判斷
- orm模塊
- 使用方法
- mysql的安裝
- 安裝orm及驅動
- 建立模型
- 自定義模型
- 增刪改查
- 高級查詢
- 常見問題匯總
- 代碼收藏
- 打包部署
- go build打包
- utils收藏
- 新goer容易犯的錯
- 字符串操作