Go语言 如何记录或打印与杜松子酒收到的请求?

mzillmmw  于 2023-10-14  发布在  Go
关注(0)|答案(2)|浏览(113)

范例:

func createOrUpdateInfluencer(c *gin.Context) { }

如何打印函数中收到的请求中的数据?在我的例子中,我应该接收JSON,如何在不知道它是什么样子的情况下打印它?

mv1qrgav

mv1qrgav1#

只要阅读和打印正文就可以了:

func createOrUpdateInfluencer(c *gin.Context) {
    body, _ := io.ReadAll(c.Request.Body)
    println(string(body))
}

或者,如果你只是想在中间件中偷看一下,你可以在阅读后把它放回去:

func createOrUpdateInfluencer(c *gin.Context) {
    body, _ := io.ReadAll(c.Request.Body)
    println(string(body))

    c.Request.Body = io.NopCloser(bytes.NewReader(body))
}
ee7vknir

ee7vknir2#

通过使用c.Request,你可以访问你的reqeust对象,然后打印/记录你必须做的一切,比如header:

fmt.Println(g.Request.Header)
fmt.Println(g.Request.Host)
// etc

相关问题