当前位置: 首页 > news >正文

诸城哪里有做网站的网络广告的概念

诸城哪里有做网站的,网络广告的概念,界面网站的风格,济南网站建设 联系小七背景 在一次业务开发中,由于需要在拦截器中对一个http请求中request body内容做解析和判断,所以用了httpServletRequest的getInputStream解析了request body内容,之后导致了拦截器处理成功后,原来的业务接口处报request body not…

背景

在一次业务开发中,由于需要在拦截器中对一个http请求中request body内容做解析和判断,所以用了httpServletRequest的getInputStream解析了request body内容,之后导致了拦截器处理成功后,原来的业务接口处报request body not found的错误。

原理

在使用Springboot开发restful接口的时候,@RequestBody将request body内容注入到参数里时内部是调用getInputStream()方法。getInputStream()对request body流进行读取,读取后流数据就没了,所以只能读取一次,拦截器先进行了读取,原来的业务接口就读取不到了。

解决方案

创建一个类BodyReaderHttpServletRequestWrapper,继承HttpServletRequestWrapper,重写getInputStream和getReader方法,在request.getInputStream之后保存请求体,之后业务代码就可以重复读request body了。

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import org.springframework.util.StreamUtils;
/**
*
* 从请求体中获取参数请求包装类:<br>
* @author nick
* @version 5.0 since 2018年9月5日
*/
public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper{
private byte[] requestBody = null;//用于将流保存下来
public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException {
super(request);
requestBody = StreamUtils.copyToByteArray(request.getInputStream());
}
@Override
public ServletInputStream getInputStream() throws IOException {
final ByteArrayInputStream bais = new ByteArrayInputStream(requestBody);
return new ServletInputStream() {
@Override
public int read() throws IOException {
return bais.read();
}
@Override
public boolean isFinished() {
return false;
}
@Override
public boolean isReady() {
return false;
}
@Override
public void setReadListener(ReadListener readListener) {
}
};
}
@Override
public BufferedReader getReader() throws IOException{
return new BufferedReader(new InputStreamReader(getInputStream()));
}
}

http://www.mnyf.cn/news/51467.html

相关文章:

  • 怎么上传网站模板网站排名系统
  • 专业做网站建设老客外链
  • 合肥企业网站建设工微营销推广软件
  • 怎样看一个网站的浏览量电商网站设计方案
  • 上海做网站设计的公司重庆网页搜索排名提升
  • 电商网站里的水果图片怎么做的世界十大搜索引擎排名
  • jsp网站项目关键词搜索点击软件
  • 医院网站建设情况说明书百度seo优化技术
  • 哈尔滨做网站需要多少钱网络营销做得好的酒店
  • 软件工程师的工作内容舆情优化公司
  • 泰安网络平台国内seo工具
  • 网站建设技术入股合同营销型网站方案
  • title 芜湖网站制作东莞今天发生的重大新闻
  • 门户网站流量站长之家域名
  • 给网站可以怎么做外链免费网址注册
  • 网站建设中效果2022年热点营销案例
  • 网站meta优化seo服务工程
  • dede怎么做商城网站最新网域查询入口
  • 苏州城乡建设网站查询系统拉新app推广平台
  • 论坛网站开发可以推广发广告的app
  • 做网站制作赚钱吗上热门最火标题
  • 做图书馆网站模板优化服务内容
  • 东莞营销商城网站建设seo在线优化排名
  • 肇庆北滘网站设计小程序制作费用一览表
  • 网站精简布局西安网站建设推广优化
  • 网站建设公司的介绍社交网络推广方法有哪些
  • 做直播网站找哪个网站seo秘籍优化课程
  • 做篮球网站用的背景图百度竞价开户联系方式
  • 广州中小企业网站制作北京网站优化方式
  • 张家港外贸型网站建设网络营销的特征和功能