java – @RequestHeader地图映射默认情况?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – @RequestHeader地图映射默认情况?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1701字,纯文字阅读大概需要3分钟。
内容图文
![java – @RequestHeader地图映射默认情况?](/upload/InfoBanner/zyjiaocheng/785/18415984c8e645c4a82567271057a2c1.jpg)
在3.2版本中,我们在控制器中使用它:
@RequestHeader Map< String,String>头
问题是标题键的映射可以是任何情况,因此我们必须重新构建标题映射,将键强制为小写.
如果spring一直强制在地图中的标题上使用小写或大写,以便更容易进行标题检查,那就太好了.
研究如何改变这种行为很困难,春季mvc测试设置也是如此.
我们可以覆盖RequestHeaderMapMethodArgumentResolver但是如何?
解决方法:
是的,您可以覆盖RequestHeaderMapMethodArgumentResolver.这是一种方法:
import org.apache.commons.collections.map.CaseInsensitiveMap;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.core.MethodParameter;
import org.springframework.web.bind.support.WebDataBinderFactory;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import java.util.Map;
public class FixRequestHeaderMapMethodArgumentResolverConfigurer implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String s) throws BeansException {
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String s) throws BeansException {
if(bean instanceof RequestHeaderMapMethodArgumentResolver) {
return new RequestHeaderMapMethodArgumentResolver() {
@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
return new CaseInsensitiveMap((Map)super.resolveArgument(parameter, mavContainer, webRequest, binderFactory));
}
};
} else
return bean;
}
}
内容总结
以上是互联网集市为您收集整理的java – @RequestHeader地图映射默认情况?全部内容,希望文章能够帮你解决java – @RequestHeader地图映射默认情况?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。