Request查询参数URL Query
URL Query
1. GET
(1)r.URL.RawQuery
编码查询内容,结果并不包含“?”符号
源码:
测试代码:
执行结果
从上面的示例中可以看到,r.URL.RawQuery的结果类型是string,将id和name的值进行了URL拼接。
(2)r.URL.Query()
Query解析RawQuery并返回相应的值,根据查询字符串查询结果,结果的类型是map类型,key是字符串类型,值是字符串切片。
有2个功能,第一是会自动丢弃不正常的值对;第二是使用ParseQuery检查错误。
将上面的源码进行修改
测试代码如上
执行结果
可以看到,通过r.URL.Query()获取到的值更加的方便使用。
那么怎么获取到name的值呢?
测试代码不变
执行结果如下
解析:
13行:声明1个查询解析字符串变量,方便下面调用
15行:第一个方法:通过Get方法,获取与给定键关联的第一个值。如果没有与键关联的值,Get返回空字符串。
18行:第二种方法:通过切片的形式获取到给定键关联的第一个值。
20行:通过切片的形式获取到给定键关联的第二个值。
2. POST
下一节我们学习POST请求