spring-cloud-gateway RewritePath GatewayFilter не работает - PullRequest
0 голосов
/ 05 июня 2018

Я занимаюсь разработкой приложения для облачного шлюза.Где я использую RewritePath GatewayFilter для обработки некоторых pathvariable.Ниже приводится описание моего нижестоящего API, работающего на порту 80 .

@GetMapping("/appname/event/{eventId}")
public Mono<ResponseEntity> getEventTimeOutWithPathVariable(
        @RequestHeader(name = "customerId") UUID customerId,
        @PathVariable(name = "eventId") String eventId) {
    Map<String, Object> map = new LinkedHashMap<>();
    map.put("customerId", customerId);
    map.put("eventId", eventId);
    return Mono.just(new ResponseEntity(map, HttpStatus.OK));
}

И в приложении My gateway настройки фильтра имеют вид:

- id: api_timeout_route
  uri: http://localhost/appname/event/
  predicates:
  - Path=/withapitimeout/**
  filters:
  - Hystrix=apiTimeOut 
  - RewritePath=/withapitimeout/(?<segment>.*), /$\{segment}

Но это не такза работой .что я делаю не так?Я получаю следующий журнал.

Mapping [Exchange: GET http://localhost:8000/withapitimeout/306ac5d0-b6d8-4f78-bde8-c470478ed1b1] 
to Route{id='api_timeout_route', uri=http://localhost:80/appname/event/

В основном переменная пути не перезаписывается.любая помощь?

1 Ответ

0 голосов
/ 05 июня 2018

Я не эксперт, но вы можете попробовать что-то вроде этого:

- id: api_timeout_route
  uri: http://localhost
  predicates:
  - Path=/withapitimeout/**
  filters:
  - Hystrix=apiTimeOut 
  - RewritePath=/withapitimeout/(?<segment>.*), /appname/event/$\{segment}

Дайте мне знать;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...