日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決spring 處理request.getInputStream()輸入流只能讀取一次問題

瀏覽:23日期:2023-08-12 13:55:47

一般我們會(huì)在InterceptorAdapter攔截器中對(duì)請(qǐng)求進(jìn)行驗(yàn)證

正常普通接口請(qǐng)求,request.getParameter()可以獲取,能多次讀取

如果我們的接口是用@RequestBody來(lái)接受數(shù)據(jù),那么我們?cè)跀r截器中

需要讀取request的輸入流 ,因?yàn)?ServletRequest中g(shù)etReader()和getInputStream()只能調(diào)用一次

這樣就會(huì)導(dǎo)致controller 無(wú)法拿到數(shù)據(jù)。

解決方法 :

1、自定義一個(gè)類 BodyReaderHttpServletRequestWrapper.java

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;/** * @author WBG * @date 2020/6/22 10:42 * @describe */public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper{ private byte[] requestBody = null;//用于將流保存下來(lái) 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())); }}

2、自定義 MyFilter 繼承Filter

import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import java.io.BufferedReader;import java.io.IOException;/** * @author WBG * @date 2020/6/22 14:32 * @describe */public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println('開始'); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { ServletRequest requestWrapper=null; if(request instanceof HttpServletRequest) { requestWrapper=new BodyReaderHttpServletRequestWrapper((HttpServletRequest)request); } if(requestWrapper==null) { chain.doFilter(request, response); }else { System.out.println('------------------------------請(qǐng)求報(bào)文----------------------------------'); System.out.println(getParamsFromRequestBody((HttpServletRequest) requestWrapper)); System.out.println('------------------------------請(qǐng)求報(bào)文----------------------------------'); chain.doFilter(requestWrapper, response); } } /* * * 獲取請(qǐng)求體內(nèi)容 * @return * @throws IOException */ private String getParamsFromRequestBody(HttpServletRequest request) throws IOException { BufferedReader br = null; String listString = ''; try { br = request.getReader(); String str = ''; while ((str = br.readLine()) != null) { listString += str; } } catch (IOException e) { e.printStackTrace(); } return listString; } @Override public void destroy() { System.out.println('destroy'); }}

3、web.xm配置過濾器

<!--定義過濾器--> <filter> <!--定義過濾器攔截URL地址--> <filter-name>test2</filter-name> <!--過濾器的文件--> <filter-class>com.zhhy.hy2000interface.utils.filter.MyFilter</filter-class> </filter> <filter-mapping> <!--過濾器的名稱--> <filter-name>test2</filter-name> <!--過濾器負(fù)責(zé)攔截的URL--> <!-- /* 會(huì)把所有的請(qǐng)求攔截下來(lái) --> <url-pattern>/*</url-pattern> </filter-mapping>

(如果是Springboot,使用注解即可)

解決spring 處理request.getInputStream()輸入流只能讀取一次問題

以上這篇解決spring 處理request.getInputStream()輸入流只能讀取一次問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕高清在线播放| 国产日韩在线观看视频| 欧美激情国产在线| 国产探花一区| 日韩va欧美va亚洲va久久| aa国产精品| 亚洲午夜视频| 欧洲在线一区| 欧美天堂视频| 国产精品一区二区三区av| 久久狠狠婷婷| 中文无码久久精品| 久久成人av| 亚洲精品高潮| 久久精品国产免费| 欧美日韩国产高清| 色欧美自拍视频| 国产精品久久久久久久免费观看| 亚洲欧美网站| 在线午夜精品| 午夜久久一区| 日韩午夜免费| 免费精品视频| 日本vs亚洲vs韩国一区三区二区| 午夜亚洲福利| 免费观看在线综合| 亚洲欧洲一区二区天堂久久| 国产欧美一区二区三区精品酒店| 日韩视频免费| 日本成人在线不卡视频| 欧美在线日韩| 日韩一二三区在线观看| 蜜桃久久av| 在线精品视频一区| 蜜臀av国产精品久久久久| 日韩高清一区在线| av综合电影网站| 亚洲我射av| 日韩中文av| 久久精品毛片| 国产一区欧美| 天堂av一区| 日本欧美在线看| 亚洲精品福利| 青青久久av| 国产精品美女午夜爽爽| 欧美国产偷国产精品三区| 天海翼精品一区二区三区| 国产91在线播放精品| 久久亚洲国产精品一区二区| 成人亚洲精品| 激情欧美一区二区三区| 欧美精品一卡| 亚洲色图网站| 久久久777| 国产激情一区| 久久一二三区| 免费欧美在线视频| 精品久久美女| 精品国产成人| 亚洲理论在线| 国产精品91一区二区三区| 久久精品av麻豆的观看方式| 国产精品久久久久蜜臀| 最新亚洲国产| 播放一区二区| 国产一区二区三区网| 亚洲欧美视频一区二区三区| 久久视频精品| 福利片在线一区二区| 精品国产乱码| 伊人久久一区| 成人日韩精品| 国产a久久精品一区二区三区| 亚洲精品大片| 一区二区91| 国产精品婷婷| 99在线|亚洲一区二区| 久久高清精品| 黄色网一区二区| 国产精品a久久久久| 视频一区二区三区在线| 国产专区一区| 国产精久久久| 免费在线观看一区| 91亚洲国产成人久久精品| 欧美激情福利| 国产日韩亚洲| 国产精品第一| 日本欧美一区| 日韩午夜视频在线| 亚洲精品一二| 国产午夜精品一区在线观看| 亚洲精品动态| 日韩高清电影一区| 日韩激情一二三区| 免费在线观看一区| 国产成人久久精品一区二区三区| 国产精品美女久久久浪潮软件| 欧美精品一线| 日韩av黄色在线| 国产亚洲久久| 精品国产一区二区三区2021| 国产精品国产一区| 日韩毛片在线| 色8久久久久| 国产精品精品国产一区二区| 日韩国产在线不卡视频| 久久久久久久久久久9不雅视频| av亚洲免费| 鲁大师成人一区二区三区| 日韩专区在线视频| 你懂的国产精品| 国产综合激情| 国产精品porn| 婷婷综合网站| 麻豆91精品视频| 麻豆中文一区二区| 新版的欧美在线视频| 欧美特黄一区| 国产在视频一区二区三区吞精| 国产视频久久| 欧美激情99| 亚洲精品.com| 精品五月天堂| 欧美成a人片免费观看久久五月天| 桃色av一区二区| 日本不卡高清视频| 尹人成人综合网| 黄色在线观看www| 欧美精品一卡| 精品一区二区三区四区五区| 日韩免费看片| 欧美黑人做爰爽爽爽| 99久久激情| 欧美日韩国产观看视频| 18国产精品| 亚洲涩涩av| 免费日韩av片| 亚洲制服一区| 欧美日韩精品一本二本三本 | 日韩专区在线视频| 天堂网在线观看国产精品| 久久精品国产网站| 国产探花在线精品一区二区| 欧美不卡在线| 麻豆一区二区三区| 日韩和欧美一区二区| 亚洲黄色网址| 国产欧美日本| 日韩av资源网| 亚洲一二三区视频| 在线观看一区| 亚洲综合婷婷| 91成人在线| 欧美一区久久| 国产精品久久久久久久久免费高清| 综合欧美精品| 久久国内精品| 日韩福利视频网| 日韩午夜电影| 99成人在线| 国产亚洲观看| 国产高清日韩| 国产91一区| 99国产精品99久久久久久粉嫩| 亚洲人妖在线| 樱桃成人精品视频在线播放| 欧美专区一区| 日韩精品一二区| 亚洲精品女人| 国产福利资源一区| 国产不卡人人| 一区在线视频观看| 日本不卡一区二区| 日韩激情精品| 久久久久九九精品影院| 日韩av在线免费观看不卡| 国产一卡不卡| 国产亚洲一区二区手机在线观看| 欧美精品一区二区三区精品| 亚洲一区二区日韩| 日韩av中文字幕一区二区| 精品理论电影在线| 中文无码日韩欧| 久久中文欧美| 老司机精品久久| 精品视频97| 亚洲伊人精品酒店| 日韩在线视频精品| 国产精品国码视频| 日日夜夜免费精品视频| 久久精品欧洲| 欧美日韩国产高清电影| 亚洲精品影视| 久久久蜜桃一区二区人| 亚洲精品少妇| 亚洲成人国产| 国产极品一区| 欧美日本三区|