在go语言中接收参数及使用Gin框架接受post请求参数并打印出参数的示例
Go  /  管理员 发布于 3个月前   110
Golang中标准net/http包有很好的、足够的功能来处理网络应用,如微服务或API服务的工作负载。
然而,有些时候你想使用第三方框架,如Gin。
下面看看如何配置一个简单的Gin web程序
以接受通过POST请求输入的查询字符串,如:
Gin示例代码:
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/query", func(c *gin.Context) {
first := c.Request.URL.Query().Get("first")
c.String(http.StatusOK, "第一个是 "+first+"\n")
second := c.Request.URL.Query().Get("second")
c.String(http.StatusOK, "第二个是 "+second+"\n")
})
// listen and serve on 0.0.0.0:8080
r.Run(":8080")
}
假设你是在www.zongscan.com域名上运行这个程序
在你的浏览器上访问以下url
http://www.zongscan.com:8080/query?first=123&second=abc
如果一切顺利的话,你应该看到来自网络应用的这些回复。
第一个是123
第二个是abc
下面看看在go中web应用中以接受由POST请求输入的查询字符串
可以用net/url.URL.Query将解析查询字符串并返回相应的值。
你所要做的就是调用Get()方法来获得你要找的值。
go中net/http包示例代码:
package main
import (
"fmt"
"net/http"
)
func SayHelloWorld(w http.ResponseWriter, r *http.Request) {
html := "Hello"
html = html + " World"
w.Write([]byte(html))
}
func QueryReply(w http.ResponseWriter, r *http.Request) {
query := r.URL.Query()
fmt.Println("GET parameters string : ", query)
first := query.Get("first")
second := query.Get("second")
w.Write([]byte("第一个值 : " + first + "\n"))
w.Write([]byte("第二个值 : " + second + "\n"))
// 因为查询是一个map,我们可以像哈希表那样使用它。
// map[first:[1] second:[2]]
//按关键词 "第一 "查询的例子
firstvalue := query["first"]
fmt.Println(firstvalue)
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", SayHelloWorld)
mux.HandleFunc("/query", QueryReply)
http.ListenAndServe(":8080", mux)
}
将你的浏览器访问以下url
http://localhost:8080/query?first=1&second=2,
正常会打印出:
第一个值:1
第二个值:2
路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..博主 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 @ mashrdn 多切换几个节点测试,免费ssr是没那么稳..mashrdn 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 V2rayn免费节点添加上去了,youtobe无法打开网页,是怎么回事..张伟 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 3q!有用,不过免费节点隔天就要去git上复制新的导进去..博主 在
科学上网翻墙访问Google , 上外网神器佛跳墙VPN(永久免费)使用流程步骤中评论 该篇教程已不能用了,告知大家,免的老有老铁问我!..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号