在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!

希望能对你有所帮助!

golang 读取Request post的数据

原文地址: https://www.cveoy.top/t/topic/hKC8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录