如何解决状态码为500时Xamarin获取API结果
在我的xamarin.forms应用程序中,我正在使用一个简单的Web API。 API方法为Active Directory -> Enterprise Apps -> Search your app -> Click on the app -> Properties page -> User Access URL
。我正在传递一些凭据,如果有针对传递的参数的有效数据,则API将会获取。
当传递的参数有效时,结果数据如下所示
POST
当参数无效时,API结果将如下所示
{
"results": {
"break_id": 40,"person_id": 48,},"success": true
}
当我们在Postman上检查这些API时,成功结果显示状态代码{
"message": "Please enter correct details.","success": false
}
。失败时,结果将显示为状态代码200
。
我正在这样解析API。
500
问题在于结果失败时,将与 private HttpRequestMessage req;
var jsonObtained = "";
string stringObtained = "";
var client = new HttpClient { BaseAddress = baseAddress };
T resultObject;
try
{
req = new HttpRequestMessage(HttpMethod.Post,apiurl);
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("bearer",Settings.AuthToken);
req.Content = new StringContent(postdata,Encoding.UTF8,"application/json");
Task<string> task = Task.Run(async () => await Threading(client,req));
task.Wait();
stringObtained = task.Result;
jsonObtained = Regex.Unescape(stringObtained);
var resultJSON = jsonObtained;
resultObject = JsonConvert.DeserializeObject<T>(resultJSON);
}
Catch(Exception ex)
{
}
一起引发异常。我可以在结果中获得500 Internal Server Error
和success
的值吗?当前,它将在行上引发异常
message
我该如何解决?对于失败的结果,状态代码也必须为 req.Content = new StringContent(postdata,"application/json");
吗?任何帮助表示赞赏。
解决方法
此错误是服务器端与xamarin不相关的错误,请参见参考文献here
我想在您的httpClient创建上添加一个断点,并确认您向其发出请求的基址。如果您有权使用所使用的API,请确保请求也到达服务器端的处理程序,并调试内部发生的情况
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。