Как мне загрузить данные из сторонней базы данных, у которой есть собственный API (у нее есть API Search EndPoint) для реализации с моим ботом веб-приложения Azure?

Публикация впервые. Как мне загрузить данные из сторонней базы данных, у которой есть собственный API (REST API), который имеет конечную точку поиска API для реализации с моим ботом веб-приложения azure? Все, что мне нужно, - это получить функцию поиска из базы данных (пользователи вводят запросы в строке поиска стороннего веб-сайта, и соответствующие результаты отображаются пользователю путем извлечения данных из базы данных, которую веб-сайт использует для получения информации. ) Мне нужно реализовать эту функцию поиска с помощью моего бота azure webapp, разработанного на C #. В настоящее время мой веб-бот также использует конструктор QnA.

Был бы очень признателен за любые отзывы.


person user458622    schedule 03.08.2019    source источник
comment
Вы пытаетесь загрузить данные (сделать копию данных в своей базе данных) или пытаетесь получить функцию поиска (есть ли у их API конечная точка поиска)?   -  person Jason Aller    schedule 03.08.2019
comment
Я пытаюсь использовать функцию поиска, и да, у их API есть конечная точка поиска.   -  person user458622    schedule 03.08.2019
comment
Было бы неплохо отредактировать как заголовок, так и вопрос, чтобы отразить это и включить любую информацию о поиске API. конечная точка. Также включите минимальный воспроизводимый пример, показывающий, что вы пробовали и где застряли в использовании этой конечной точки.   -  person Jason Aller    schedule 03.08.2019
comment
Дело в том, что у меня есть методы get для точных функций поиска, которые мне нужны, которые я получил от Postman, теперь я просто не знаю, как использовать этот метод get, который, по сути, получает все данные, которые мне нужны, из базу данных для реализации с моим ботом azure webapp на C #. Я просто не знаю, с чего начать.   -  person user458622    schedule 03.08.2019


Ответы (1)


Вы можете ознакомиться с этой документацией: https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client

Пример в этом документе создает экземпляр объекта HTTP-клиента, подобного этому, хотя вам решать, хотите ли вы использовать static или любые другие модификаторы в объявляемом вами поле:

static HttpClient client = new HttpClient();

Вы можете видеть, что HTTP-клиент используется для таких запросов GET:

static async Task<Product> GetProductAsync(string path)
{
    Product product = null;
    HttpResponseMessage response = await client.GetAsync(path);
    if (response.IsSuccessStatusCode)
    {
        product = await response.Content.ReadAsAsync<Product>();
    }
    return product;
}

Важные части - это client.GetAsync и response.Content.ReadAsAsync.

Это довольно минимальный пример, который не включает такие вещи, как заголовки авторизации и тому подобное. Вы можете ознакомиться с Microsoft.Bot.Connector и особенно Conversations .cs для более сложных примеров HTTP-запросов.

person Kyle Delaney    schedule 05.08.2019
comment
Большое спасибо, Кайл. Очень признателен за помощь. Вчера я успешно реализовал это с помощью HTTP-клиента. У меня сейчас проблемы с интеграцией этого с разработчиком QnA, но это отдельный вопрос, который я бы разместил здесь. - person user458622; 06.08.2019
comment
@ user458622 - Рад слышать, что ваша проблема решена. Пожалуйста, не забудьте проголосовать за и принять мой ответ. - person Kyle Delaney; 06.08.2019