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))