如何使用 WebApi 在 Windows Phone 8.1 上获取列表

How to get a list on Windows Phone 8.1 using WebApi

如何根据我的 Web API 代码使用 Windows Phone 执行 GET?要制作一个我已经知道并为我工作的 Post,但我不知道如何从我的 API 中检索 Collections 的列表,谢谢!

我的API代码:

public class UsersController : ApiController
{
    private ApiDatabaseEntities data = new ApiDatabaseEntities();

    public IHttpActionResult GetUsuarios()
    {           
        try
        {
            IEnumerable<Usuario> usuarios = data.Usuario.AsEnumerable();
            return Ok(usuarios.AsEnumerable());
        }
        catch (Exception ex)
        {
            return BadRequest(ex.Message);
        } 
    }
    public IHttpActionResult PostUsuarios(Usuario usuario)
    {
        try
        {
            data.Usuario.Add(usuario);
            data.SaveChanges();
            return Ok();
        }
        catch (Exception ex)
        {
            return BadRequest(ex.Message);
        }
    }

这是我的 Windows phone 代码:

1 - WebApiBase

public abstract class WebApiBase<T>
{
    private string Url = "http://localhost:63964/api/users";

    protected virtual void Post(object objectPost)
    {
        HttpClient client = new HttpClient();
        client.PostAsJsonAsync(Url, objectPost);
    }     
    public abstract void Send(T objectPost);

}

2 - 和 UsuarioApi

public class UsuarioApi : WebApiBase<Models.UserPhone>
{
    public override void Send(UserPhone objectPost)
    {
        this.Post(objectPost);
    }
}

用于从 Windows Phone 向服务器发送获取请求,然后处理来自服务器的响应。

public async void GetRequest(){                string url = "APIurl";
                HttpClient _client = new HttpClient();
                HttpResponseMessage _response = await _client.GetAsync(new Uri(url));
                if (_response.IsSuccessStatusCode)
                {
                    string APIResponse = await _response.Content.ReadAsStringAsync();
                    var myObject = Newtonsoft.Json.Linq.JArray.Parse(APIResponse).ToObject<MyClass>();
                }
}

和我的班级

public class MyClass
{
public ObservableCollection<CollectionClass> _myCollection{get;set;}
}

public class CollectionClass
{
public string Name{get;set;}
}

现在您可以根据需要对 myObject 执行操作。