@Bean public RouteLocator myRoutes(RouteLocatorBuilder builder) { String httpUri = "http://httpbin.org:80"; return builder.routes() .route(p -> p .path("/get") .filters(f -> f.addRequestHeader("Hello", "World")) .uri(httpUri)) .route(p -> p .host("*.hystrix.com") .filters(f -> f .hystrix(config -> config .setName("mycmd") .setFallbackUri("forward:/fallback"))) .uri(httpUri)) .build(); } // end::route-locator[]
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes().route("test_set_request_header", r -> r.order(-1) .host("**.setrequestheader.org") .filters(f -> f.prefixPath("/httpbin") .addRequestHeader("X-Req-Foo", "First") .setRequestHeader("X-Req-Foo", "Second")) .uri(uri)) .build(); } }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("add_request_header_java_test", r -> r.path("/headers").and().host("**.addrequestheaderjava.org") .filters(f -> f.prefixPath("/httpbin").addRequestHeader("X-Request-Acme", "ValueB")) .uri(uri)) .build(); } }
@Test public void testASetOfRoutes() { RouteLocator routeLocator = this.routeLocatorBuilder.routes() .route("test1", r -> r.host("*.somehost.org").and().path("/somepath") .filters(f -> f.addRequestHeader("header1", "header-value-1")) .uri("http://someuri")) .route("test2", r -> r.host("*.somehost2.org") .filters(f -> f.addResponseHeader("header-response-1", "header-response-1")) .uri("https://httpbin.org:9090")) .build(); StepVerifier.create(routeLocator.getRoutes()) .expectNextMatches( r -> r.getId().equals("test1") && r.getFilters().size() == 1 && r.getUri().equals(URI.create("http://someuri:80"))) .expectNextMatches( r -> r.getId().equals("test2") && r.getFilters().size() == 1 && r.getUri() .equals(URI.create("https://httpbin.org:9090"))) .expectComplete().verify(); }
@Bean public RouteLocator testRouteLocator(RouteLocatorBuilder builder) { return builder.routes() .route("non_standard_header_route", r -> r.path("/get-image/**") .filters(f -> f .addRequestHeader(HttpHeaders.HOST, "www.addrequestparameter.org") .stripPrefix(1) ) .uri("http://localhost:" + port + "/get")) .route("internal_route", r -> r.path("/get/**") .filters(f -> f.prefixPath("/httpbin")) .uri(uri)) .build(); }
.uri("http://httpbin.org") ).route("modify_request_body", r -> r.path("/modify/test2") .filters(f -> f.addRequestHeader("X-TestHeader", "rewrite_request_upper") .modifyRequestBody(String.class, String.class, (exchange, s) -> Mono.just(s.toUpperCase())).modifyResponseBody(String.class, String.class,