如何获取到request对象中的请求体?

425 阅读1分钟

实现一个拦截器对所有请求进行签名验证,根据签名算法生成签名要先拿到请求体,那么如何获取到get对象中的请求体呢?

我们可以先拿到request的BufferReader流对象 再通过流读取数据进行读取

//获取request内的报文
public String getRequestBody(HttpServletRequest request){

    StringBuffer sb = new StringBuffer();

    try {
        BufferedReader br = request.getReader();
        String s = br.readLine();
        while (s != null){
            sb.append(s.trim());
            s = br.readLine();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    return sb.toString();
}