Gin框架二 Gin基本路由 1

2021-09-24 15:08:53 字數 3893 閱讀 7841

目錄

基本路由

路由引數

路徑全部引數

路徑單個引數

獲取url中指定的引數【get、post請求】

獲取url預設值的引數【get、post請求】

路由是自定義url位址執行指定的函式,良好的路由定義可以對seo起到很好的效果。

gin框架封裝了http庫,提供了get、post、put、delete、patch、head、options這些http請求方式。

使用router.method()來繫結路由

func

(group *routergroup)

method

(relativepath string

, handlers ...handlerfunc) iroutes

router := gin.

default()

router.

get(

"/get"

,func

(c *gin.context))}

)router.

post

("/post"

,func

(c *gin.context))}

)router.

put(

"/put"

,func

(c *gin.context))}

)router.

delete

("/delete"

,func

(c *gin.context))}

)router.

patch

("/patch"

,func

(c *gin.context))}

)router.

head

("/head"

,func

(c *gin.context))}

)router.

options

("/options"

,func

(c *gin.context))}

)router.

run(

":9999"

)//指定埠 localhost:9999

獲取url路徑全部引數

以/為分割符,每個引數以「:」為引數表示動態變數,會自動繫結到路由對應的引數上

路由規則:[:]表示可以不用匹配

比如:http://localhost:8080/user/李四/20/北京/男 將匹配 「http://localhost:8080/user/:name/:age/:address/:***」

上面的這個鏈結中,可以通過向上面講的使用/user/:name/:age/:address/:***來分別匹配李四、20、北京、男

c.

params

("key"

)

//http://localhost:8080/user/李四/20/北京/男

)

注意:但是不會匹配 /user/ 或者 /user

訪問:http://localhost:8080/user/李四/20/北京/男

結果:

"[   ]\n"
獲取url路徑單個引數

使用gin.context物件的param(key)方法獲取某乙個key的值,方法宣告如下:

})})訪問:http://localhost:8080/login/15949629528/123456

結果:

獲取url中指定的引數【get、post請求】

獲取url中路徑值和獲取引數不一樣

比如:http://localhost:8080/login?name=張三&password=123456

可以使用接下在的方法獲取請求引數name、password的值。

//返回url中key的值

func

(c *context)

query

(key string

)string

//get請求

)//post請求

)

訪問:http://localhost:8080/login?name=張三&password=123456

輸出內容如下:

獲取指定預設值的引數的【帶有預設值的接收】【get、post請求】

gin框架當然也想到了這麼一點,gin.context.defaultquery()方法,允許你指定接收的引數名,以及沒有接收到該引數值時,設定的預設值,宣告如下:

func

(c *context)

defaultquery

(key, defaultvalue string

)string

只有當請求沒有攜帶key,那麼此時的預設值就會生效。其他情況,預設值不生效。即使url中的該key的值為空,那麼也不會啟用預設值,獲取的值就是空。

注意,這是獲取url中的引數值

//get請求

)//post請求

)

訪問:http://localhost:8080/user?password=

輸出內容如下:

gin路由拆分

當專案越來越大,所有的路由就不太適合放在一塊了,將路由拆分為乙個個單獨的包 main.go func main 0 routes 資料夾下的a,b兩個檔案都註冊了各自的路由 routes first.go func a r gin.engine go routes last.go func b r ...

Gin框架初識

關於gin的具體說明與原始碼 一.安裝 命令列輸入 go get github.com gin gonic gin 安裝位置 go的環境變數中配置的全域性的lib目錄 二 基本應用 1.get 1 gin.context中的query方法 get的url傳參 func getquery contex...

Gin框架初識

一.安裝 二 基本應用 1.get 1 gin.context中的query方法 get的url傳參 二 基本應用 1.get 1 gin.context中的query方法 get的url傳參 測試 url http localhost 8088 user?userid 5 username xia...