Я настраиваю приложение на основе микросервисов, используя Spring Cloud Gateway с клиентом Eureka Discovery. spring.cloud.gateway.discovery.locator.lower-case-service-id в true in application application.yml. Конечные точки, выявленные шлюзом, и есть запись для службы. < /p>
Что мне не хватает?spring:
application:
name: registry
server:
port: 8081
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:${server.port}/eureka/
instance:
hostname: localhost
prefer-ip-address: true
< /code>
Presn Cloud Gateway Application.yml < /h1>
spring:
application:
name: api-gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
main:
web-application-type: reactive
server:
port: 8080
eureka:
client:
service-url:
defaultZone: http://localhost:8081/eureka/
fetch-registry: true
register-with-eureka: true
instance:
hostname: localhost
prefer-ip-address: true
management:
endpoint:
gateway:
enabled: true
endpoints:
web:
exposure:
include:
- "*"
< /code>
Service Application.yml < /h1>
server:
port: 8082
spring:
application:
name: event
eureka:
client:
service-url:
defaultZone: http://localhost:8081/eureka/
fetch-registry: true
register-with-eureka: true
instance:
hostname: localhost
prefer-ip-address: true
< /code>
Я включил требуемые аннотации как в приложении Eureka Server, так и в классах приложений для службы и сервиса событий. Я получаю следующий ответ при запросе http: // localhost: 8080/arcuator/gateway/routes:
[{"predicate":"Paths: [/api-gateway/**], match trailing slash: true","metadata":{"jmx.port":"55939","management.port":"8080"},"route_id":"ReactiveCompositeDiscoveryClient_API-GATEWAY","filters":["[[RewritePath /api-gateway/?(?.*) = '/${remaining}'], order = 1]"],"uri":"lb://API-GATEWAY","order":0},{"predicate":"Paths: [/event/**], match trailing slash: true","metadata":{"jmx.port":"55880","management.port":"8082"},"route_id":"ReactiveCompositeDiscoveryClient_EVENT","filters":["[[RewritePath /event/?(?.*) = '/${remaining}'], order = 1]"],"uri":"lb://EVENT","order":0}]
< /code>
EventController < /h1>
package example.event.endpoint.controller;
import static org.springframework.http.HttpStatus.OK;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import example.event.endpoint.service.EventService;
import example.core.model.Event;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@RestController
@RequestMapping("/v1/event")
@Slf4j
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class EventController {
private final EventService eventService;
@GetMapping
public ResponseEntity listAll(Pageable pageable) {
log.info("Retrieving all events");
return new ResponseEntity(eventService.list(pageable), OK);
}
}
Подробнее здесь: https://stackoverflow.com/questions/760 ... ocator-404
Весенний облачный шлюз с локатором Eureka Discovery - 404 ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1759678687
Anonymous
Я настраиваю приложение на основе микросервисов, используя Spring Cloud Gateway с клиентом Eureka Discovery. spring.cloud.gateway.discovery.locator.lower-case-service-id в true in application application.yml. Конечные точки, выявленные шлюзом, и есть запись для службы. < /p>
Что мне не хватает?spring:
application:
name: registry
server:
port: 8081
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:${server.port}/eureka/
instance:
hostname: localhost
prefer-ip-address: true
< /code>
Presn Cloud Gateway Application.yml < /h1>
spring:
application:
name: api-gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
main:
web-application-type: reactive
server:
port: 8080
eureka:
client:
service-url:
defaultZone: http://localhost:8081/eureka/
fetch-registry: true
register-with-eureka: true
instance:
hostname: localhost
prefer-ip-address: true
management:
endpoint:
gateway:
enabled: true
endpoints:
web:
exposure:
include:
- "*"
< /code>
Service Application.yml < /h1>
server:
port: 8082
spring:
application:
name: event
eureka:
client:
service-url:
defaultZone: http://localhost:8081/eureka/
fetch-registry: true
register-with-eureka: true
instance:
hostname: localhost
prefer-ip-address: true
< /code>
Я включил требуемые аннотации как в приложении Eureka Server, так и в классах приложений для службы и сервиса событий. Я получаю следующий ответ при запросе http: // localhost: 8080/arcuator/gateway/routes:
[{"predicate":"Paths: [/api-gateway/**], match trailing slash: true","metadata":{"jmx.port":"55939","management.port":"8080"},"route_id":"ReactiveCompositeDiscoveryClient_API-GATEWAY","filters":["[[RewritePath /api-gateway/?(?.*) = '/${remaining}'], order = 1]"],"uri":"lb://API-GATEWAY","order":0},{"predicate":"Paths: [/event/**], match trailing slash: true","metadata":{"jmx.port":"55880","management.port":"8082"},"route_id":"ReactiveCompositeDiscoveryClient_EVENT","filters":["[[RewritePath /event/?(?.*) = '/${remaining}'], order = 1]"],"uri":"lb://EVENT","order":0}]
< /code>
EventController < /h1>
package example.event.endpoint.controller;
import static org.springframework.http.HttpStatus.OK;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import example.event.endpoint.service.EventService;
import example.core.model.Event;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@RestController
@RequestMapping("/v1/event")
@Slf4j
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class EventController {
private final EventService eventService;
@GetMapping
public ResponseEntity listAll(Pageable pageable) {
log.info("Retrieving all events");
return new ResponseEntity(eventService.list(pageable), OK);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/76049410/spring-cloud-gateway-with-eureka-discovery-locator-404[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия