如何使用 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 执行操作。
如何根据我的 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 执行操作。