Add ArgumentResolverConfigurer

Replace the List<HandlerMethodArgumentResolver> with a dedicated
configurer that currently has one method accepting custom resolver
registrations.
This commit is contained in:
Rossen Stoyanchev
2017-03-29 15:39:31 -04:00
parent 118f33aeda
commit a8162c03f9
9 changed files with 123 additions and 70 deletions

View File

@@ -100,7 +100,7 @@ public class DelegatingWebFluxConfigurationTests {
verify(webFluxConfigurer).getValidator();
verify(webFluxConfigurer).getMessageCodesResolver();
verify(webFluxConfigurer).addFormatters(formatterRegistry.capture());
verify(webFluxConfigurer).addArgumentResolvers(any());
verify(webFluxConfigurer).configureArgumentResolvers(any());
assertSame(formatterRegistry.getValue(), initializerConversionService);
assertEquals(9, codecsConfigurer.getValue().getReaders().size());

View File

@@ -67,8 +67,9 @@ public class ControllerMethodResolverTests {
@Before
public void setUp() throws Exception {
List<HandlerMethodArgumentResolver> customResolvers =
Arrays.asList(new CustomArgumentResolver(), new CustomSyncArgumentResolver());
ArgumentResolverConfigurer configurer = new ArgumentResolverConfigurer();
configurer.addCustomResolver(new CustomArgumentResolver());
configurer.addCustomResolver(new CustomSyncArgumentResolver());
List<HttpMessageReader<?>> messageReaders = Arrays.asList(
new DecoderHttpMessageReader<>(new ByteArrayDecoder()),
@@ -79,7 +80,7 @@ public class ControllerMethodResolverTests {
applicationContext.refresh();
this.methodResolver = new ControllerMethodResolver(
customResolvers, messageReaders, new ReactiveAdapterRegistry(), applicationContext);
configurer, messageReaders, new ReactiveAdapterRegistry(), applicationContext);
Method method = ResolvableMethod.on(TestController.class).mockCall(TestController::handle).method();
this.handlerMethod = new HandlerMethod(new TestController(), method);