go语言 获取post方式传输的数据 form-data json

1. json

1.1. 传入post json数据:
{"username":"admin","password":"123456"}
1.2. 接收数据
package utils

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

/**
 * 获取body的data(json)转换为string
 */
func HomeHandler(w http.ResponseWriter, r *http.Request) {
    variables, err := ioutil.ReadAll(r.Body)
    if err != nil {
        fmt.Println("ioutil.ReadAll():", err.Error())
    }
    fmt.Println("json:", string(variables)) // 打印json串

    // 转换为切片/结构体
    var jsonObj map[string]interface{}
    if err := json.Unmarshal(variables, &jsonObj); err != nil {
        fmt.Println("json.Unmarshal():", err.Error())
    }
}

2. form-data