Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

复杂参数

ghttp.Request对象支持智能的参数类型解析(不区分请求提交方式及请求提交类型),以下为提交参数示例以及服务端对应解析的变量类型:

ParameterVariable
k=m&k=nmap[k:n]
k1=m&k2=nmap[k1:m k2:n]
k[]=m&k[]=nmap[k:[m n]]
k[a][]=m&k[a][]=nmap[k:map[a:[m n]]]
k[a]=m&k[b]=nmap[k:map[a:m b:n]]
k[a][a]=m&k[a][b]=nmap[k:map[a:map[a:m b:n]]]
k=m&k[a]=nerror

同名参数

同名参数提交格式形如:k=v1&k=v2 ,后续的变量值将会覆盖前面的变量值。

...

需要注意的是,在标准库net/http处理中,提交的同名参数将会被转换为字符串数组。

数组参数

数组参数提交格式形如:k[]=v1&k[]=v2

...

执行后,我们访问 http://127.0.0.1:8199/?array[]=john&array[]=smith 后,将会得到返回值 ["john","smith"]

Map参数

Map参数提交格式形如:k[a]=m&k[b]=n,并且支持多级Map,例如:k[a][a]=m&k[a][b]=n

...