resolvers.add(new RequestPartMethodArgumentResolver(getMessageConverters(), this.requestResponseBodyAdvice)); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));
@Test public void resolveHttpHeadersArgument() throws Exception { String name = "foo"; String value1 = "bar"; String value2 = "baz"; request.addHeader(name, value1); request.addHeader(name, value2); HttpHeaders expected = new HttpHeaders(); expected.add(name, value1); expected.add(name, value2); Object result = resolver.resolveArgument(paramHttpHeaders, null, webRequest, null); assertTrue(result instanceof HttpHeaders); assertEquals("Invalid result", expected, result); }
@Test public void supportsParameter() { assertTrue("Map parameter not supported", resolver.supportsParameter(paramMap)); assertTrue("MultiValueMap parameter not supported", resolver.supportsParameter(paramMultiValueMap)); assertTrue("HttpHeaders parameter not supported", resolver.supportsParameter(paramHttpHeaders)); assertFalse("non-@RequestParam map supported", resolver.supportsParameter(paramUnsupported)); }
resolvers.add(new RequestPartMethodArgumentResolver(getMessageConverters())); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));
@Test public void resolveMultiValueMapArgument() throws Exception { String name = "foo"; String value1 = "bar"; String value2 = "baz"; request.addHeader(name, value1); request.addHeader(name, value2); MultiValueMap<String, String> expected = new LinkedMultiValueMap<>(1); expected.add(name, value1); expected.add(name, value2); Object result = resolver.resolveArgument(paramMultiValueMap, null, webRequest, null); assertTrue(result instanceof MultiValueMap); assertEquals("Invalid result", expected, result); }
resolvers.add(new RequestPartMethodArgumentResolver(getMessageConverters(), this.requestResponseBodyAdvice)); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));
@Test public void resolveMapArgument() throws Exception { String name = "foo"; String value = "bar"; Map<String, String> expected = Collections.singletonMap(name, value); request.addHeader(name, value); Object result = resolver.resolveArgument(paramMap, null, webRequest, null); assertTrue(result instanceof Map); assertEquals("Invalid result", expected, result); }
@Before public void setup() throws Exception { resolver = new RequestHeaderMapMethodArgumentResolver(); Method method = getClass().getMethod("params", Map.class, MultiValueMap.class, HttpHeaders.class, Map.class); paramMap = new SynthesizingMethodParameter(method, 0); paramMultiValueMap = new SynthesizingMethodParameter(method, 1); paramHttpHeaders = new SynthesizingMethodParameter(method, 2); paramUnsupported = new SynthesizingMethodParameter(method, 3); request = new MockHttpServletRequest(); webRequest = new ServletWebRequest(request, new MockHttpServletResponse()); }
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 {
private void initArgumentResolvers() { if (this.argumentResolvers != null) { return; } this.argumentResolvers = new ArrayList<HandlerMethodArgumentResolver>(); // Annotation-based resolvers this.argumentResolvers.add(new RequestHeaderMethodArgumentResolver(this.beanFactory)); this.argumentResolvers.add(new RequestHeaderMapMethodArgumentResolver()); this.argumentResolvers.add(new ServletCookieValueMethodArgumentResolver(this.beanFactory)); this.argumentResolvers.add(new ExpressionValueMethodArgumentResolver(this.beanFactory)); // Custom resolvers if (this.customArgumentResolvers != null) { this.argumentResolvers.addAll(this.customArgumentResolvers); } // Type-based resolvers this.argumentResolvers.add(new FacesContextMethodArgumentResolver()); this.argumentResolvers.add(new ServletRequestMethodArgumentResolver()); this.argumentResolvers.add(new ServletResponseMethodArgumentResolver()); this.argumentResolvers.add(new SpringFacesModelMethodArgumentResolver()); }
private List<HandlerMethodArgumentResolver> getArgumentResolvers(List<HttpMessageConverter<?>> messageConverters) { List<HandlerMethodArgumentResolver> resolvers = new LinkedList<>(); resolvers.add(new RequestParamMethodArgumentResolver(beanFactory, false)); resolvers.add(new RequestParamMapMethodArgumentResolver()); resolvers.add(new MatrixVariableMethodArgumentResolver()); resolvers.add(new MatrixVariableMapMethodArgumentResolver()); resolvers.add(new ServletModelAttributeMethodProcessor(false)); resolvers.add(new RequestResponseBodyMethodProcessor(messageConverters)); resolvers.add(new RequestPartMethodArgumentResolver(messageConverters)); resolvers.add(new RequestHeaderMethodArgumentResolver(beanFactory)); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(beanFactory)); resolvers.add(new ExpressionValueMethodArgumentResolver(beanFactory)); resolvers.add(new ServletRequestMethodArgumentResolver()); resolvers.add(new ServletResponseMethodArgumentResolver()); resolvers.add(new HttpEntityMethodProcessor(messageConverters)); resolvers.add(new RedirectAttributesMethodArgumentResolver()); resolvers.add(new ModelMethodProcessor()); resolvers.add(new MapMethodProcessor()); resolvers.add(new ErrorsMethodArgumentResolver()); resolvers.add(new SessionStatusMethodArgumentResolver()); resolvers.add(new UriComponentsBuilderMethodArgumentResolver()); resolvers.add(new RequestParamMethodArgumentResolver(beanFactory, true)); resolvers.add(new ServletModelAttributeMethodProcessor(true)); return resolvers; }
resolvers.add(new RequestPartMethodArgumentResolver(getMessageConverters(), this.requestResponseBodyAdvice)); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));
resolvers.add(new RequestPartMethodArgumentResolver(getMessageConverters())); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));
this.requestResponseBodyAdvice)); resolvers.add(new RequestHeaderMethodArgumentResolver(getBeanFactory())); resolvers.add(new RequestHeaderMapMethodArgumentResolver()); resolvers.add(new ServletCookieValueMethodArgumentResolver(getBeanFactory())); resolvers.add(new ExpressionValueMethodArgumentResolver(getBeanFactory()));