【问题标题】:Request Body is always empty请求正文始终为空
【发布时间】:2021-02-01 13:58:30
【问题描述】:

我正在使用 POSTMAN 向我的 localhost 中的路由发送 POST 请求。

路线已在我的main.go 文件中完美定义。此外,它也可以通过发送 post 请求来触发。

但是,当我尝试打印正文时,它似乎总是空的。

我试图用下面的代码复制问题

package main

import (
    "fmt"
    "html/template"
    "io/ioutil"
    "log"
    "net/http"
    "path"
    "strings"
)

func MeetingOperations(w http.ResponseWriter, r *http.Request) {
        reqBody, _ := ioutil.ReadAll(r.Body)
        fmt.Fprintf(w, "%+v", string(reqBody))
        fmt.Println(string(reqBody))
        fmt.Println("SCHEDULE MEETING ROUTE")
}

func handleRequests() {
    http.HandleFunc("/meetings/", MeetingOperations)
    log.Fatal(http.ListenAndServe(":10000", nil))
}

func main() {
    handleRequests()
}

但正文在控制台中被记录为空。

我尝试使用 curl 发送请求,但没有成功。我还尝试创建一个 HTML 模板表单并提交它,但没有成功。

非常感谢任何形式的帮助或解释。

【问题讨论】:

  • GET 请求没有正文。使用 POST/PUT
  • 你添加的截图是GET请求而不是POST请求。此外,请始终检查错误(reqBody, _ := ioutil.ReadAll(r.Body))
  • 抱歉让我更新一下
  • 能否详细说明如何检查错误以及原因?

标签: go postman server-side


【解决方案1】:

您的路线定义中有一个尾部斜杠,但在您的 Postman 请求中缺少它。如果您使用库,通常可以处理这种情况。

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 1970-01-01
    • 2016-06-01
    • 2018-04-26
    • 2021-05-29
    • 2021-11-27
    • 1970-01-01
    • 2015-12-24
    • 2017-05-12
    相关资源
    最近更新 更多