У меня есть приложение Spring Boot, предоставляющее некоторые конечные точки для запросов REST. Я пытаюсь отделить два компонента (которые в настоящее время непосредственно вызывают код друг друга), и я хочу, чтобы они отправляли друг другу запросы REST (для возможной реализации микросервиса). Я знаю, что обнаружение конечной точки может быть выполнено через службу обнаружения (например, Eureka), но есть ли способ также передать информацию о параметрах из службы, которая требует ее, клиенту, запрашивающему ее? Пример: у меня есть служба корзины покупок, которая полагается на информацию о продуктах, доступных для покупки. С помощью Eureka (или другого инструмента обнаружения услуг) я могу зарегистрировать свои службы, чтобы служба корзины покупок теперь знала об услуге продукта. Если у службы продукта есть что-то вроде:
@GetMapping("/product")
public Product findById(@RequestParam int id) {
return products.find(id);
}
Я знаю, чтобы использовать эту конечную точку для получения продукта с идентификатором 3, служба корзины должна будет запросить http://localhost: 1234 / product? id = 3 , но есть ли способ обнаружить эти параметры и их требуемые типы во время выполнения? В моем примере, если я использую Eureka, служба корзины покупок динамически получает информацию о местонахождении службы продукта, но не получает информацию о параметрах, которые примут ее конечные точки. Я знаю, что Spring Boot Actuator должен предоставлять эту информацию, но всякий раз, когда я ее использую, поле params для моих конечных точек всегда пустое.