awaisshabir Ответов: 2

Как вызвать web api с android?


у меня есть веб-api, который возвращает список сотрудников

ниже приведен мой код api
[Route("api/Employee")]
    public HttpResponseMessage Get()
    {
        var employees= EmployeesRepository.GetAllEmployees();
        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, employees);
        return response;
    }


Что я уже пробовал:

последовательности URL-адрес="http://localhost:6680/api/Employee";

с помощью HttpClient Клинта=новый класс HttpClient();

2 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

HttpClient[^]- это объект C#, а не Java. Это будет работать только в том случае, если вы создаете приложение для Android с помощью Xamarin. Я не о Xamarin, но ASP.NET команда наверняка поделилась исходным кодом для потребления ASP.NET веб-API в коде C#. Прочтите его здесь, Вызов веб-API из клиента .NET в ASP.NET Web API 2 (C#) | The ASP.NET сайт[^]

С другой стороны, если вы собираетесь разрабатывать приложение для Android, то вы не можете использовать код C#, а вместо этого вы собираетесь использовать собственные API Java для работы в сети. HttpURLConnection[^] объект-один из таких объектов. Для родного примера Java Android прочтите это, Подключение к сети | разработчики Android[^]. Вам потребуется использовать этот URL-адрес API, а затем использовать API. Что бы вернуть контент в формате JSON (или XML в зависимости от конфигурации), для которых вы должны были бы иметь отформатированный JSON-сериализаторов. Прочтите эту тему для получения руководства по этому вопросу, Android JSON Parser учебник[^].


Рейтинг:
1

Krishan Kumar Gaurav

//Use reference for System.Json
// Gets data from the passed API URL.
private async Task<JsonValue> GetMethodAsync (string url)
{
    // Create an HTTP web request using the URL:
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create (new Uri (url));
    request.ContentType = "application/json";
    request.Method = "GET";

    // Send the request to the server and wait for the response:
    using (WebResponse response = await request.GetResponseAsync ())
    {
        // Get a stream representation of the HTTP web response:
        using (Stream stream = response.GetResponseStream ())
        {
            // Use this stream to build a JSON document object:
            JsonValue jsonDoc = await Task.Run (() => JsonObject.Load (stream));
            Console.Out.WriteLine("Response: {0}", jsonDoc.ToString ());

            // Return the JSON document:
            return jsonDoc;
        }
    }
}