我目前正在开发一个Xamarin Forms应用程序,我正在尝试调用从物理Android设备本地运行的REST API。我可以浏览到网址
http://localhost:3000/api/orders_initial/0333a05b-5c49-48d6-8e60-1eb6a4d627ff
在设备上的Opera / Chrome中获取预期的JSON结果。我还能够从Play商店中提供的一些REST API客户端应用程序成功调用REST API。但是,当我尝试从我的应用程序调用REST API时,我收到连接拒绝错误。任何想法为什么会这样?以下是用于调用REST API的代码:
private string baseUrl = @"http://localhost:3000/api/";
private HttpClient client;
public RestService() {
client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
}
public async Task<List<Order>> GetOrdersForInitialSync(Guid id) {
var uri = new Uri(baseUrl + @"orders_initial/" + id.ToString());
var response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode) {
var content = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<List<Order>>(content);
}
else {
return new List<Order>();
}
}
}