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

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

Сообщение Anonymous »

У меня есть простое требование: заменить старый URI на новый, чтобы клиенты по-прежнему могли совершать вызовы к старому URI.
Мой шлюз API работает на порту 8090 и подключен к серверу Eureka.
Вот файл свойств шлюза

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

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
Старый API через шлюз был

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

http://localhost:8090/currency-conversion-service/currency-convertor-feign/from/USD/to/INR/456
Где «currency-conversion-service» — это имя целевого приложения в Eureka.
Изображение

И URI в приложении службы конвертации валют был изменен на

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

/currency-convertor-v2/from/USD/to/INR/456
из

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

/currency-convertor-feign/from/USD/to/INR/456
Итак, я хочу, чтобы клиенты попадали на URL-адрес шлюза API

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

http://localhost:8090/currency-conversion-service/currency-convertor-feign/from/USD/to/INR/456
Запрос перенаправляется на

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

/currency-convertor-v2/from/USD/to/INR/456
В службе конвертации валют
А вот код, который я пытался написать в приложении-шлюзе

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

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();
}
}
Но это не работает. Продолжайте получать ошибки. Никакие исключения не печатаются в журналах шлюза API как таковые.
Я новичок в шлюзе Spring Cloud, поэтому было бы здорово, если бы я мог получить некоторую помощь по этому вопросу.
Спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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