• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go实现http的请求方式&接受参数方式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.默认的常规方法

//默认多路复用器
import (
	"fmt"
	"net/http"
)
func IndexHand (w http.ResponseWriter,r *http.Request) {
	content:="this is test info"
	fmt.Fprint(w,content)
}
func main(){
	http.HandleFunc("/test",IndexHand)
	http.ListenAndServe("127.0.0.1:8005",nil)
}

 2.多路复用器

//个性化多路复用器
func IndexFucn(w http.ResponseWriter,r * http.Request) {
	content:="this is content"
	fmt.Fprint(w,content)
}
func secondFun(w http.ResponseWriter,r * http.Request){
	content:="this is second"
	fmt.Fprint(w,content)
}
func  main(){
	mux:=http.NewServeMux()
	mux.HandleFunc("/aa",IndexFucn)
	mux.HandleFunc("/bb",secondFun)
	server:=&http.Server{
		Addr: "0.0.0.0:8099",
		Handler: mux,
	}
	err:=server.ListenAndServe()
	if err!=nil {
		log.Fatal(err)
	}
}

 3.接收Http传递参数

  GET 和 POST 是我们最常用的两种请求方式,今天讲一讲如何在 golang 服务中,正确接收这两种请求的参数信息

  1.1 接收GET请求

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)
func hello( w http.ResponseWriter, r * http.Request){
    params:=make(map[string]string)
    query := r.URL.Query()
    id:= query.Get("id")
    name:= query.Get("name")
    age:= query.Get("age")

    params["id"]=id
    params["name"]=name
    params["age"]= age

    strParams,_:= json.Marshal(params)
    w.Write(strParams)
}
func main() {
    http.HandleFunc("/",hello)
    err:= http.ListenAndServe(":9007",nil)
    if err != nil {
        fmt.Print(err)
    }
}

 1.2 接收POST请求

func helloPost(w http.ResponseWriter, request * http.Request){
    request.ParseForm()
    id:= request.FormValue("id")
    name:= request.FormValue("name")
    age:=request.FormValue("age")

    params:=make(map[string]string)
    params["id"] = id
    params["name"] = name
    params["age"] = age
    strParams,_:= json.Marshal(params)
    w.Write(strParams)
}
func main() {
    http.HandleFunc("/",helloPost)
    err:= http.ListenAndServe(":9007",nil)
    if err != nil {
        fmt.Print(err)
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
win7下 go语言开发环境搭建发布时间:2022-07-10
下一篇:
用 Go + Redis 实现分布式锁发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap