Вызов нескольких WebAPI - ASP.Net MVC - PullRequest
1 голос
/ 16 октября 2019

У меня есть задача получить данные из конечной точки webapi и отобразить их для просмотра. Разработчики внешнего сайта предоставили мне 2 конечных точки.

1-я конечная точка представляет собой список данных и имеет только: id, nameи год; второй для каждого элемента (извлекается по его Id ) и содержит все больше и больше данных, которые мне нужно использовать.

Итакдалеко, я могу вызвать 1-ю конечную точку , получить весь список и передать его для просмотра ... но через некоторое время я понял, что мне нужно также вызвать каждую конечную точку элемент по его идентификатору , чтобы получить полную информацию о каждом элементе ... и для достижения более поздних целей мне нужно вызвать второй веб-интерфейс по его Id .

Итак, моя идея на данный момент такова: мне нужно позвонить двум вебапи. Первый, чтобы получить список id , затем вызвать второй webapi и использовать уже полученный список id из первого вызова webapi, чтобы получить каждый элемент и его детали; потому что я не могу напрямую вызвать webapi по id, так как список является динамическим с внешнего сайта и может изменяться в любое время с внешнего веб-сервера. Поэтому мне нужно сначала получить список.

Мне просто нужна ваша идея, и, возможно, пример кода о том, что делать !!!

или Если это хорошоИдея вызова второго webapi.

- Я также замечаю задержку при вызове webapi, также узнаю, что jquery работает быстро .--

Рабочий процесс приложения выглядит следующим образом:Веб-сайт A, когда пользователь нажимает кнопку с именем « Vehicle », он должен вызвать webapi с веб-сайта B, чтобы получить данные, и отобразить эти данные на странице на веб-сайте A. Таким образом, взаимодействия с пользователем длякаждый элемент с веб-сайта A. Мне нужно получить весь> список + подробности.

Ниже приведен вызов моей конечной точки для получения всего списка.

            HttpClient client = new HttpClient();

            string APIdatas = null;

            HttpResponseMessage response = await client.GetAsync("https://jsonplaceholder.typicode.com/todos/");

            if (response.IsSuccessStatusCode)
            {
                APIdatas = await response.Content.ReadAsStringAsync();
            }

            var stringJson = JsonConvert.DeserializeObject<List<CrowdfundingViewModel>>(APIdatas);

            return View(stringJson);

1 Ответ

0 голосов
/ 16 октября 2019

Я думаю, что в основном вам следует отображать только те данные, которые вы получаете при первом вызове API, и отображать их в виде (в виде таблицы или чего-то подобного), и снабжать каждую строку кнопкой сведений. Только когда пользователь нажимает кнопку «Подробности», вы должны выполнить второй вызов API, чтобы получить дополнительную информацию об этой записи и отобразить ее в отдельном представлении. В противном случае вам потребуется вызывать второй API для каждого элемента, что может привести к снижению производительности.

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