List of usage examples for org.springframework.web.servlet.mvc.method.annotation RequestMappingHandlerAdapter setArgumentResolvers
public void setArgumentResolvers(@Nullable List<HandlerMethodArgumentResolver> argumentResolvers)
From source file:io.neba.core.mvc.MvcContext.java
/** * Registers the custom argument resolvers if a {@link RequestMappingHandlerAdapter} * is present in the factory.//from w ww.ja v a 2 s . co m */ private void registerCustomArgumentResolvers() { RequestMappingHandlerAdapter requestMappingHandlerAdapter = this.factory .getBean(RequestMappingHandlerAdapter.class); if (requestMappingHandlerAdapter != null) { HandlerMethodArgumentResolverComposite argumentResolvers = requestMappingHandlerAdapter .getArgumentResolvers(); if (argumentResolvers == null) { throw new IllegalStateException("No argument resolvers found in " + requestMappingHandlerAdapter + ". It appears the handler was not initialized by the application context."); } // Add Sling-specific argument resolvers first List<HandlerMethodArgumentResolver> resolvers = new LinkedList<HandlerMethodArgumentResolver>(); resolvers.add(new RequestPathInfoArgumentResolver()); resolvers.add(new ResourceResolverArgumentResolver()); resolvers.add(new ResourceParamArgumentResolver()); // Subsequently add all existing argument resolvers (they are order-sensitive, ending with a catch-all resolver, // thus the custom resolvers have to go first) resolvers.addAll(argumentResolvers.getResolvers()); requestMappingHandlerAdapter.setArgumentResolvers(resolvers); } }