Проблема с вызовом конечной точки отдыха с использованием консула и лямбды - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь позвонить в студенческую службу из школьной службы. Я использую Консул, чтобы обнаружить студенческий сервис. Консульская панель показывает, что обе службы активны. У меня проблема с передачей "schoolName" в качестве параметра пути к лямбда-выражению .map (s -> s.resolve ("getStudentDetailsForSchool / schoolName")). Может кто-нибудь подсказать, как передать параметр пути / запроса в конечную точку REST с помощью лямбда-выражения. Моя конечная точка REST - http://localhost: 9098 / getStudentDetailsForSchool / abcschool , которая сообщает сведения об этом ученике школы.



    @Service
    public class StudentServiceDelegateConsulAnotherWay {
        @Autowired
        private RestTemplate template;



    @Autowired
        private DiscoveryClient discoveryClient;

        public String callStudentServiceConsul(String schoolName) {
            URI url = discoveryClient.getInstances("student-service").stream().map(si -> si.getUri()).findFirst()
                    .map(s -> s.resolve("getStudentDetailsForSchool/schoolName")).get();

            return template.getForObject(url, String.class);
        }

    }

...