文章目录
参数注入比较简单,但是也记录下。
@RequestBody参数注入,相同的代码为什么一个可以一个不行
一个是java,一个是class
获取request中的headers
获取headers是比较常用的需求。
从HttpServletRequest 中获取headers
原始的写法是这样的:
void methodName(HttpServletRequest servletRequest){
Enumeration<String> headerNames = request.getHeaderNames();
StringBuilder headers = new StringBuilder();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
headers.append(headerName).append(": ").append(headerValue).append("\n");
}
}
实现是可以实现,但是代码有点冗余,较好的方法是直接用spring的@RequestHeader注解。
@RequestHeader注解获取headers
代码:
void methodName(@RequestHeader Map<String,String> headers){
log.info("headers={}",JSON.toJSONString(headers));
}
直接就可以使用,省的写一堆代码了。