首页 > 其他分享 >Golang获取http Request内容

Golang获取http Request内容

时间:2022-11-02 11:37:11浏览次数:56  
标签:Body http nil request Request Golang io

获取http Request内容

获取http Request的内容,需要io.ReadAll调用读取了request的Body,读取完后,我们的控制器就没有请求内容了,此时应该需要把读取出来的字节重新构造成一个ReadCloser赋值给Body:

import (
	"bytes"
	"io"
	"net/http"
)

func PeekRequest(request *http.Request) ([]byte, error) {
	if request.Body != nil {
		byts, err := io.ReadAll(request.Body) // io.ReadAll as Go 1.16, below please use ioutil.ReadAll
		if err != nil {
			return nil, err
		}
		request.Body = io.NopCloser(bytes.NewReader(byts))
		return byts, nil
	}
	return make([]byte, 0), nil
}

标签:Body,http,nil,request,Request,Golang,io
From: https://www.cnblogs.com/quanbisen/p/16850428.html

相关文章

  • uniapp http请求时响应拦截返回了两次的原因
    app起动时需要加载位置信息,如果没有开启则跳到系统权限页面开启定位功能,返回APP后重新加载定位信息,处理方法是在onShow方法中再调一次,在这之前已在onLoad方法中调用过一次......
  • setTimeout/setInterval与requestAnimationFrame的区别?
    提到setTimeout/setInterval以及requestAnimationFrame,大家的第一反应是动画相关的两个API。什么是web动画我们来谈谈什么是动画。动画其实是一种假象,是一种不连续......
  • 使用golang操作mongodb
    背景学习使用golang操作mongodb,主要是常见的增删改查。代码packagemainimport("context""fmt""log""go.mongodb.org/mongo-driver/bson"......
  • 优雅处理Golang中的异常
    我们在使用Golang时,不可避免会遇到异常情况的处理,与Java、Python等语言不同的是,Go中并没有try...catch...这样的语句块,我们知道在Java中使用try...catch...这种模式不仅能......
  • PHP接收xmlhttp.send传递的值代码例子
    注:Ajax中要加xmlhttp.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”);来来添加HTTP头,不然php文件无法接收到传递的值Ajax代码:functioncolle......
  • 注解@RequestParam,@RequestAttribute 还有二者区别。
    注解1.@RequestParam注解1.1作用:@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)1.2语法:语法:@RequestParam(value=”参数名”......
  • 遇见System.Net.Http不兼容的解决方案
    背景假设我有一个项目A,调用B项目里面的HttpClient。A里面的System.Net.Http引用路径为(版本4.0.0.0)C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework......
  • 基本注解详解@RequestMapping,@GetMapping
    基本注解详解@RequestMapping,@GetMapping1.@RequestMapping注解@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法......
  • org.xml.sax.SAXNotRecognizedException: SAX feature 'http://apache.org/xml/featur
    tomcat启动服务后,解析xml等文件会报错org.xml.sax.SAXNotRecognizedException:SAXfeature'http://apache.org/xml/features/allow-java-encodings'notrecognized. ......
  • http请求状态码
    常见的请求状态码浏览器本身相关200-请求成功301、302-页面重定向304-页面与上一次请求没变化(即缓存)前端相关400- 服务器不理解的请求方式(即错误请求)401-......