# 有三種路由:**固定路由、正則路由、自動路由**
## 固定路由:
* #### 一個固定的路由,一個控制器,然后根據用戶請求方法不同請求控制器中對應的方法
* #### `beego.Router("/", &controllers.MainController{})`
* ####` beego.Router("/user", &controllers\_user.UserController{})`
* ####` beego.Router("/hello", &controllers\_user.Hello{})`
#### 然后根據請求的方法,比如get請求,去對應的controller里找對應的方法
## 正則路由:
* #### `beego.Router(“/api/?:id”, &controllers.RController{})`
* #### 默認匹配 //例如對于URL”/api/123”可以匹配成功,此時變量”:id”值為”123”
* #### `beego.Router(“/api/:id”, &controllers.RController{})`
* #### 默認匹配 //例如對于URL”/api/123”可以匹配成功,此時變量”:id”值為”123”,***但URL”/api/“匹配失敗***
* #### :id(\[0-9\]+) 或者 :id(\[\\d\]+) 或者 ??int
* #### :id(\[\\w\]+) 或者 :username:string *\*\* \\需要轉義\*\**
* #### 獲取:
* #### `this.Ctx.Input.Param(":id")`
* #### `this..GetString(":id")`
####
* #### 正則部分:
* #### . 匹配除換行符以外的任意字符
* #### \\w 匹配字母或數字或下劃線 等價于 '\[^A-Za-z0-9\_\]'。
* #### \\d 匹配數字
####
## 自動路由:
* #### 注冊路由的時候不需要指定url,只需要注冊控制器即可:
* #### beego.AutoRouter(&controllers.UserController{})
* #### 使用的時候得按規則來
* #### /控制器名/方法名/后面的都是參數。。。
* #### /user/get/123/456 會訪問UserController下的get方法,兩個參數是123,456
* #### TestUserController -- \> testuser
## **自定義路由**:
* #### 注冊路由的時候可以指定第三個參數,這個參數就是用來自定義路由的
* #### 用法: method :函數名
* #### post:Login post請求的時候訪問Login函數
* #### get:User get請求的時候訪問User函數
* #### \*:LoginOut 所有的請求方法都訪問LoginOut函數
* #### put:UpdateFile put請求的時候訪問UpdateFile函數
* #### get,post:Login get和post請求的時候訪問Login函數
* #### 可用的 HTTP Method:
#### \*: 包含以下所有的函數
#### get: GET 請求
#### post: POST 請求
#### put: PUT 請求
#### delete: DELETE 請求
#### patch: PATCH 請求
#### options: OPTIONS 請求
#### head: HEAD 請求
## beego路由用法舉例:
* #### 默認的get請求對應Get方法,post請求對應Post方法
* #### beego.Router("/", &controllers.MainController{})
* #### 給請求指定自定義方法,默認方法將失效
* #### beego.Router("/login", &controllers.MyController{}, "get:Login;post:Register")
* #### 多個請求訪問一個方法
* #### beego.Router("/getandpost", &controllers.MyController{}, "get,post:Login")
* #### 所有請求訪問一個方法
* #### beego.Router("/all", &controllers.MyController{}, "\*:Login")
- go環境搭建
- 解決go get網絡慢的問題
- beego的安裝
- bee的安裝
- 編輯器
- go module
- 配置文件詳解
- 配置文件其他說明
- 路由方法
- 路由
- 數據校驗
- 校驗函數
- 頁面跳轉
- 獲取前端數據
- json文件的獲取
- xsrf的用法
- xsrf的防護
- srfs和json的搭配
- flash的用法
- 過濾器
- url反轉
- 各類數據的處理
- 模板函數
- 內置模板函數
- 自定義模板函數
- 模板
- 模板處理
- 模板渲染
- 視圖文件的處理
- 靜態文件
- 請求方式判斷
- 驗證碼
- 另一種方法
- 分頁類
- session
- 登錄判斷
- orm模塊
- 使用方法
- mysql的安裝
- 安裝orm及驅動
- 建立模型
- 自定義模型
- 增刪改查
- 高級查詢
- 常見問題匯總
- 代碼收藏
- 打包部署
- go build打包
- utils收藏
- 新goer容易犯的錯
- 字符串操作