Skip to content

Instantly share code, notes, and snippets.

@sjyun
Created July 16, 2018 15:00
Show Gist options
  • Save sjyun/d39681597913b06f1e030e19762a07af to your computer and use it in GitHub Desktop.
Save sjyun/d39681597913b06f1e030e19762a07af to your computer and use it in GitHub Desktop.
Method argument resolver
public class HeaderMapArgumentResolver implements HandlerMethodArgumentResolver{
@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.getParameterType() == HeaderInfo.class;
}
@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
HeaderInfo headerInfo = new HeaderInfo();
Iterator<String> headerNames = webRequest.getHeaderNames();
while(headerNames.hasNext()) {
String headerName = headerNames.next();
String headerValue = webRequest.getHeader(headerName);
System.out.println(headerName + " , " + headerValue);
headerInfo.put(headerName, headerValue);
}
return headerInfo;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment