API-интерфейс Spring MVC REST: метод вызова контроллера программно с учетом URL и тела запроса JSON - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть общий REST API (разработанный с использованием Spring MVC), который принимает список запросов API в качестве тела запроса. Каждый запрос API в списке имеет свой собственный URL и тело запроса.

В реализации этого общего REST API мне нужно вызывать соответствующий метод контроллера Spring (в том же приложении) для каждого из этих отдельных запросов API (с соответствующим URL-адресом и телом запроса). (Затем я объединю все эти отдельные ответы API и верну их в одном большом ответе общего REST API).

Я искал вокруг, но мне неясно, как программно вызвать Spring для выполнения каждого отдельного запроса API. В идеале я хотел бы получить ответ ResponseEntity от каждого вызова вместо фактического ответа JSON.

(дополнительная информация: На том же сервере приложений, что и общий API, мне нужно перевести URL и тело запроса JSON для каждого отдельного API в аргументы метода контроллера. Мне также нужно взять URL и заставить Spring определить, какой метод контроллера вызывать сам.)

Любая помощь будет принята с благодарностью.

Спасибо

Мэтт

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Ответ зависит от того, находятся ли отдельные URL-адреса, которые вы планируете вызывать, на одном и том же сервере (доступный без использования сетевого вызова) или нет

  1. Если это с одним и тем жесервер приложений, порождает несколько потоков, вызывает отдельные методы, объединяет ответ и отправляет его обратно

  2. Если он не находится на одном и том же сервере приложений, кроме него имеется множество асинхронных ограничителейсобственный весенний веб-клиент / restTemplate и т. д.

0 голосов
/ 13 сентября 2018

Есть способ для внутреннего управления. Вы можете создать общий API и вызвать все службы отдельных API и построить ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...