我有一个Xamarin.表格拨打电话的iOS应用程序ASP.NETWeb API。以下是从Xamarin视图模型进行的api调用:
private async void GetInterestList()
{
using (var client = new HttpClient())
{
string token = Storage.GetKeyValue("token");
client.DefaultRequestHeaders.Authorization = System.Net.Http.Headers.AuthenticationHeaderValue.Parse(token);
HttpResponseMessage response = await client.GetAsync("https://xxxx/api/common/getinterestlist");
if (response.IsSuccessStatusCode)
{
string s = await response.Content.ReadAsStringAsync();
List<MobileInterest> result = new List<MobileInterest>();
result = JsonConvert.DeserializeObject<List<MobileInterest>>(s);
foreach (var item in result)
{
InterestsList.Add(item.Interest);
}
}
}
}
“token”对象是在Login POST方法期间创建的JWT。JWT有效期为60分钟。
当我运行内容页/视图模型(MVVM)时,我在HttpResponseMessage对象中得到一个401未经授权的错误。
如果我在Postman上使用相同的有效令牌运行完全相同的API方法,我就成功了,并将json对象返回到模型中。
我不明白为什么api方法可以在Postman客户机上工作,但是在iOS模拟器上401失败了。
我在Xamarin项目中还有其他API调用也可以使用。
我该去哪找?