在go语言中接收参数及使用Gin框架接受post请求参数并打印出参数的示例
Go  /  管理员 发布于 1年前   346
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
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号