Перенаправление весеннего облачного шлюзаJAVA

Программисты JAVA общаются здесь
Anonymous
Перенаправление весеннего облачного шлюза

Сообщение Anonymous »

У меня есть простое требование замены старого URI на новое, чтобы клиенты все еще могли делать вызовы в старый URI < /p>
Мой шлюз API работает на порту 8090, и он подключен к серверу Eureka < /p>
, вот файл свойств в шейке < /p>

Файл свойств < /p>

Файл.

Код: Выделить всё

spring.application.name=api-gateway-server
server.port=8090
eureka.client.serviceUrl.defaultZone=http://localhost:9100/eureka

spring.cloud.gateway.discovery.locator.enabled=true

spring.cloud.gateway.discovery.locator.lower-case-service-id=true

logging.level.root=DEBUG
< /code>
Старый API через шлюз был < /p>
http://localhost:8090/currency-conversion-service/currency-convertor-feign/from/USD/to/INR/456
где «валютная конверсионная-сервис» является именем приложения назначения в eureka

unerviors sfice-convers Изменено на < /p>
/currency-convertor-v2/from/USD/to/INR/456
< /code>
из < /p>
/currency-convertor-feign/from/USD/to/INR/456
< /code>
Так что я хочу, чтобы, когда клиенты попадают в URL API Gateway < /p>
http://localhost:8090/currency-conversi ... to/INR/456
< /code>
запрос перенаправлен на < /p>
/currency-convertor-v2/from/USD/to/INR/456
< /code>
В валютно-конверсионном обслуживании < /p>
А вот код, который я пытался написать в приложении шлюза < /p>
package com.kingshuk.springcloudprojects.apigatewayserver;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ApiRoutingConfiguration {

@Bean
public RouteLocator applicationRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route(p -> p.path("/currency-convertor-feign/**")
.filters(gatewayFilterSpec -> gatewayFilterSpec
.rewritePath("/currency-convertor-feign/(?.*)"
, "/currency-convertor-v2/${remaining}}"))
.uri("http://currency-conversion-service/"))
.build();
}
}
< /code>
Но это не работает. Продолжайте получать ошибки. В журналах API Gateway нет исключения, как таковые.>

Подробнее здесь: https://stackoverflow.com/questions/663 ... edirection

Вернуться в «JAVA»