golang 读取Request post的数据
在Go中,可以使用net/http包来读取POST请求的数据。下面是一个简单的示例:
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
http.HandleFunc("/post", handlePost)
log.Fatal(http.ListenAndServe(":8080", nil))
}
func handlePost(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)
return
}
body, err := ioutil.ReadAll(r.Body)
if err != nil {
http.Error(w, "Bad Request", http.StatusBadRequest)
return
}
fmt.Fprintf(w, "POST body: %s", body)
}
在上面的示例中,我们通过http.HandleFunc函数将/post路径与handlePost函数绑定。handlePost函数首先检查请求的方法是否为POST,如果不是,则返回Method Not Allowed错误。然后,我们使用ioutil.ReadAll函数从请求的Body中读取数据,并将读取到的数据作为响应返回给客户端。
你可以使用curl或其他工具发送POST请求来测试上述示例:
$ curl -X POST -d "Hello, World!" http://localhost:8080/post
上述示例将会返回以下响应:
POST body: Hello, World!
希望能对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/hKC8 著作权归作者所有。请勿转载和采集!