golang api接收get,post请求读取内容方法

Posted on 2019-12-02 16:20  大白不白  阅读(3370)  评论(0编辑  收藏  举报

1.接收字典:

var data map[string]interface{}
    if r.Method == "POST" {
        fmt.Println("method:", r.Method)
        res := r.ParseForm()
     # 从body里面读出内容,golang的字典格式为map(字典)  a1, _ :
= ioutil.ReadAll(r.Body)
     # 将json格式的字符串解码到相应的数据结构,marshal将数据编码成json字符串 json.Unmarshal(a1,
&data) fmt.Println(res) fmt.Println(a1) log.Println(data["content"]) }

2.接收文件:

func sayhellohandler(w http.ResponseWriter, r *http.Request) {
    // r.ParseForm()
    if r.Method == "POST" {
        fmt.Println("method:", r.Method)
     # 读取文件 formFile, header, err :
= r.FormFile("uid") if err != nil { log.Fatal(":", err) return } defer formFile.Close()
     # 创建文件 destFile, error :
= os.Create("D:/goproject/src/xuezhihao.com/study/go01/test1/11.jpg") if error != nil { log.Fatal(error) return } defer destFile.Close()
     # 复制文件 file, err :
= io.Copy(destFile, formFile) if err != nil { log.Fatal(":", err) return } fmt.Println(formFile) fmt.Println(header) fmt.Println(file) } } func main() { http.HandleFunc("/", sayhellohandler) log.Fatal(http.ListenAndServe(":2334", nil)) }

 3.从form-data中读

    r.PostForm("id")
    r.PostFormValue("id")

返回response:

type Basejsonbean struct{

    Code int               `json:"Code"`
    Data interface{}     `json:"Data"`
    Message string       `json:"Message"`
}
# 定义一个方法返回response信息
func newbasejsonbean() *Basejsonbean {
    return &Basejsonbean{}
}
       # 实例化一个方法
    result := newbasejsonbean()
       # 把json格式转成bytes
    bytes,_ := json.Marshal(result)
    // fmt.Println(bytes)
       # 返回字符串
    fmt.Fprint(w,string(bytes))

 

 

 

 

Copyright © 2024 大白不白
Powered by .NET 8.0 on Kubernetes