前言Gin中间件获取响应体数据 正文 这种操作只能获取响应体数据的内容,并不能强制修改响应体数据的内容 123456789101112131415161718192021222324252627282930// 继承ResponseWritertype getResponseBody struct { gin.ResponseWriter body *bytes.Buffer}// 重写Write()方法func (res getResponseBody) Write(b []byte) (int, error) { res.body.Write(b) return res.ResponseWriter.Write(b)}func deleteResponseDataNullValue() gin.HandlerFunc { return func(context *gin.Context) { // 将改写的ResponseWriter替换Gin的ResponseWriter var response = &getResponseBody{ ResponseWriter: context.Writer, body: bytes.NewBufferString(""), } context.Writer = response // 执行业务操作 context.Next() // 得到响应状态 statusCode := context.Writer.Status() if statusCode == http.StatusOK { // 获取响应体数据 var body = response.body.String() } }} 完成参考文献CSDN——wilson_go