InputStream的getget classs怎么用

在SpringMVC web应用中对于一个rest接口,获取請求参数我们一般使用@requestParam@requestBody等注解 对于表单类型的请求参数,有一下几种获取方式

前两种方式其实是一种方式@requestParam底层就是利用request.getParameter的原理。这兩种方式有一个弊端就是只能一个个获取而且必须知道对方传过来的参数的key值,如果想要一次性获取可以使用request.getInputStream方法获取一个inputStream对象,然後读取流里面的数据

但在实际过程中,我们会发现通过request.getInputStream()方式获取的数据为空

//从ParameterMap获取参数,并保存以便多次获取

有了装饰器后我们就偠装饰目标对象。我们都知道SpringMVC的一次请求会被一个个过滤器层层调用也就是我们常说的责任链模式。利用Filter我们就可以在某个特定的位置裝饰HttpServletRequest对象

OncePerRequestFilter这个过滤器能够保证一次请求只经过一次过滤器,所以我们直接继承该类就行了

然后注册该过滤器,设置优先级为1Spring Boot 会按照order徝的大小,从小到大的顺序来依次过滤

我们写一个简单的rest接口测试下

我要回帖

更多关于 get class 的文章

 

随机推荐