今天在测试接口遇到一个问题,一个参数只获取到了一半怀着强烈的怀疑,不知道是golang自身还是使用的框架或者postman的原因,进行了排查。
首先测试接口使用了postman


image.png

结果:只接受到了bbb参数中的一般


image.png

二。浏览器测试


image.png

结果:也只有一半


image.png

三。搭建自己的golang服务端口

package main

import (
    "log"
    "net/http"
)

func sayhelloName(w http.ResponseWriter, r *http.Request) {
    r.ParseForm() //解析参数,默认是不会解析的
    //这些信息是输出到服务器端的打印信息
    log.Println("aaa:", r.Form["aaa"])
    log.Println("bbb:", r.Form["bbb"])
}

func main() {
    http.HandleFunc("/", sayhelloName)       //设置访问的路由
    err := http.ListenAndServe(":9090", nil) //设置监听的端口
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

继续请求,分别使用postman和浏览器访问
结果:
结果:也只有一半


image.png

结论:
golang在接受query参数时,会自动忽略分号后面的东西,真的坑哦,希望广大大佬们,有不足之处,请高抬贵手,给我指正。


有疑问加站长微信联系(非本文作者)