微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

状态码为500时Xamarin获取API结果

如何解决状态码为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 Errorsuccess的值吗?当前,它将在行上引发异常

message

我该如何解决?对于失败的结果,状态代码也必须为 req.Content = new StringContent(postdata,"application/json"); 吗?任何帮助表示赞赏。

解决方法

此错误是服务器端与xamarin不相关的错误,请参见参考文献here

我想在您的httpClient创建上添加一个断点,并确认您向其发出请求的基址。如果您有权使用所使用的API,请确保请求也到达服务器端的处理程序,并调试内部发生的情况

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。