@Override public void run(ApplicationConfiguration configuration, Environment environment) throws Exception { environment.jersey().register(new UriConnegFilter(new MediaTypeMappings(), Collections.<String, String>emptyMap())); Map<String, Object> props = new HashMap<>(); props.put(MessageProperties.LEGACY_WORKERS_ORDERING, true); environment.jersey().getResourceConfig().addProperties(props); addWriters(environment.jersey()); configureCors(environment); //TODO: This path should not be hard coded. configureSwagger(environment, "scigraph"); environment.servlets(). addFilter("Swagger Filter", factory.getInjector().getInstance(SwaggerFilter.class)) .addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/swagger.json", "/swagger"); environment.servlets().addFilter("swaggerDocResolver", new SwaggerDocUrlFilter()) .addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*"); DynamicCypherResourceFactory cypherFactory = factory.getInjector().getInstance(DynamicCypherResourceFactory.class); for (Map.Entry<String,Path> config: configuration.getCypherResources().entrySet()) { environment.jersey().getResourceConfig().registerResources(cypherFactory.create(config.getKey(), config.getValue()).getBuilder().build()); } }