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