W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
?ghttp.Request
?對象支持智能的參數(shù)類型解析(不區(qū)分請求提交方式及請求提交類型),以下為提交參數(shù)示例以及服務(wù)端對應(yīng)解析的變量類型:
Parameter
|
Variable
|
---|---|
k=m&k=n
|
map[k:n]
|
k1=m&k2=n
|
map[k1:m k2:n]
|
k[]=m&k[]=n
|
map[k:[m n]]
|
k[a][]=m&k[a][]=n
|
map[k:map[a:[m n]]]
|
k[a]=m&k[b]=n
|
map[k:map[a:m b:n]]
|
k[a][a]=m&k[a][b]=n
|
map[k:map[a:map[a:m b:n]]]
|
k=m&k[a]=n
|
error
|
同名參數(shù)提交格式形如:?k=v1&k=v2
? ,后續(xù)的變量值將會覆蓋前面的變量值。
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write(r.Get("name"))
})
s.SetPort(8199)
s.Run()
}
執(zhí)行后,我們訪問 http://127.0.0.1:8199/?name=john&name=smith 后,將會得到返回值 ?smith
?。
需要注意的是,在標(biāo)準(zhǔn)庫?net/http
?處理中,提交的同名參數(shù)將會被轉(zhuǎn)換為字符串?dāng)?shù)組。
數(shù)組參數(shù)提交格式形如:?k[]=v1&k[]=v2
? 。
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write(r.Get("array"))
})
s.SetPort(8199)
s.Run()
}
執(zhí)行后,我們訪問 http://127.0.0.1:8199/?array[]=john&array[]=smith 后,將會得到返回值 ?["john","smith"]
? 。
?Map
?參數(shù)提交格式形如:?k[a]=m&k[b]=n
?,并且支持多級?Map
?,例如:?k[a][a]=m&k[a][b]=n
?。
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write(r.Get("map"))
})
s.SetPort(8199)
s.Run()
}
執(zhí)行后,我們訪問 http://127.0.0.1:8199/?map[id]=1&map[name]=john 后,將會得到返回值 ?{"id":"1","name":"john"}
?。
我們再試試多級?Map
?,手動訪問以下地址
將會得到返回值 ?{"user1":{"id":"1","name":"john"},"user2":{"id":"2","name":"smith"}}
?。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: