/** * Uses the {@link DefaultExceptionMapperLookup} to collect all controllers. * * @return an instance of {@link ControllerRegistry} with initialized controllers */ public ControllerRegistry build() { return build(new DefaultControllerLookup(resourceRegistry, typeParser, objectMapper, documentMapper)); }
private RequestDispatcher createRequestDispatcher(ExceptionMapperRegistry exceptionMapperRegistry) { ControllerRegistryBuilder controllerRegistryBuilder = new ControllerRegistryBuilder(resourceRegistry, moduleRegistry.getTypeParser(), objectMapper, propertiesProvider); ControllerRegistry controllerRegistry = controllerRegistryBuilder.build(); this.documentMapper = controllerRegistryBuilder.getDocumentMapper(); QueryAdapterBuilder queryAdapterBuilder; if (queryParamsBuilder != null) { queryAdapterBuilder = new QueryParamsAdapterBuilder(queryParamsBuilder, moduleRegistry); } else { queryAdapterBuilder = new QuerySpecAdapterBuilder(querySpecDeserializer, moduleRegistry); } return new RequestDispatcher(moduleRegistry, controllerRegistry, exceptionMapperRegistry, queryAdapterBuilder); }
@Bean public RequestDispatcher requestDispatcher() throws Exception { TypeParser typeParser = moduleRegistry.getTypeParser(); ControllerRegistryBuilder controllerRegistryBuilder = new ControllerRegistryBuilder(resourceRegistry, typeParser, objectMapper, new EmptyPropertiesProvider()); ControllerRegistry controllerRegistry = controllerRegistryBuilder.build(); QueryAdapterBuilder queryAdapterBuilder; if (querySpecDeserializer != null) { queryAdapterBuilder = new QuerySpecAdapterBuilder(querySpecDeserializer, moduleRegistry); } else { queryAdapterBuilder = new QueryParamsAdapterBuilder(paramsBuilder, moduleRegistry); } return new RequestDispatcher(moduleRegistry, controllerRegistry, exceptionMapperRegistry, queryAdapterBuilder); } }
protected RequestDispatcher createRequestDispatcher(ModuleRegistry moduleRegistry, ObjectMapper objectMapper, ExceptionMapperRegistry exceptionMapperRegistry) throws Exception { TypeParser typeParser = moduleRegistry.getTypeParser(); ControllerRegistryBuilder controllerRegistryBuilder = new ControllerRegistryBuilder(resourceRegistry, typeParser, objectMapper, propertiesProvider); ControllerRegistry controllerRegistry = controllerRegistryBuilder.build(); QueryAdapterBuilder queryAdapterBuilder; if (querySpecDeserializer != null) { queryAdapterBuilder = new QuerySpecAdapterBuilder(querySpecDeserializer, moduleRegistry); } else { if (queryParamsBuilder == null) { queryParamsBuilder = new QueryParamsBuilder(new DefaultQueryParamsParser()); } queryAdapterBuilder = new QueryParamsAdapterBuilder(queryParamsBuilder, moduleRegistry); } return new RequestDispatcher(moduleRegistry, controllerRegistry, exceptionMapperRegistry, queryAdapterBuilder); }