- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Retrofit
向 API 发出一些请求,当我收到响应时,如果请求成功,通常会以这种格式从 API 收到响应
成功响应
{
"success": 1,
"error": [],
"data": [
// Some data..
]
}
如果有错误,响应将是这样的
响应不成功
{
"success": 0,
"error": [
"Password is incorrect"
],
"data": []
}
现在的问题是如果有一个不成功的请求,它带有错误代码403
,所以Retrofit将它归类为异常并抛出一个HttpException
,然后我有无法捕获 json
响应中附加的 password is incorrect
消息。
即使有 HttpException,有什么方法我仍然可以获得主体响应?
这是我正在使用的示例代码
View 模型
viewModelScope.launch {
try {
val result = myApi.request(requestParam)
}catch (e: HttpException){
// Log the error
}
}
最佳答案
好吧,我想出了一种方法来从传递的异常中取回响应。
正如我在问题中所说,这是我正在使用的代码
旧代码示例
viewModelScope.launch {
try {
val result = myApi.request(requestParam)
}catch (e: HttpException){
// Log the error
}
}
但是,我不知道响应主体是通过异常传递的,您可以使用 errorBody()
方法将其作为字符串接收,如下所示。
新代码示例
viewModelScope.launch {
try {
val result = myApi.request(requestParam)
}catch (e: HttpException){
val response = e.response()?.errorBody()?.string()
}
}
然后您可以从那里操作此字符串以提取错误消息。
关于android - 使用改进的 HttpException 捕获错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65208694/
我无法获得针对我的应用程序的 ajax 请求的描述性错误消息。我不认为这是如何设置的。我已经尝试完全删除 Controller 方法,但在它接触 Controller 之前仍然失败。 我的路线: +-
我在测试项目中遇到了一些问题。C#、ASP .NET MVC 5、>NET Framework 4.5.1 出于某种原因,我的异常过滤器无法捕获 Controller 抛出的 HttpExceptio
我是 aspx 网络表单的新手。 我想在我的 Web 应用程序中捕获特定异常 - Viewstate MAC 验证失败。 我试过这个(在 Global.asax.cs 中): protected vo
我正在使用 Retrofit 向 API 发出一些请求,当我收到响应时,如果请求成功,通常会以这种格式从 API 收到响应 成功响应 { "success": 1, "error":
该文档建议引发带有客户端错误的 HTTPException,这很好。 但是如何在文档中遵循 HTTPException 的模型显示这些特定错误?意思是带有“详细信息”键的字典。 以下不起作用,因为 H
我正在尝试处理 http 错误,所以我创建了自定义 http 异常类 class HttpException implements Exception { final String message
我在2个不同的服务器上的项目中工作。该代码是从bitbucket克隆的,因此完全相同,但是在其中一个中,我在每个HTTP请求中均收到此错误: Couldn't connect to host, Ela
我正在尝试测试这个方法: private ServiceApiMetadata getConfig(final HttpServletRequest request, final String pat
我正在尝试使用 Windows 上的 AllegroGraph 客户端(版本 4.1.1)将 *.nt 文件导入 AllegroGraph。我使用 AllegroGraph WebView 应用程序来
我正在使用 ASP.NET MVC 3 开发 uploader 。我正在使用 AJAX 上传控件 (http://valums.com/ajax-upload/)。当我尝试通过 IE 上传大文件时,一
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Troubleshooting BadImageFormatException 我正在尝试编译我的解决方案,
我的 output.aspx 页面有时会出现以下错误: Exception Details: System.Web.HttpException: Request timed out. Source E
出于测试目的,我有这个方法: public ActionResult Index() { System.Diagnostics.Debug.Write("Index"); return
我在 Laravel 中进行单元测试的一个测试函数不断出错。我试图断言在不满足某些条件的情况下请求特定页面会触发 403 FORBIDDEN 错误。 我的测试用例函数是这样的: public func
httplib.HTTPException 是否有错误代码?如果是这样,我如何从异常实例中获取它们?感谢您的帮助。 最佳答案 httplib 模块不使用异常来传达 HTTP 响应,只是真正的错误(无效
我已经编写了一个自定义的 http 处理程序。我通过编写一个实现 IHttphandler 的类来完成此操作。 在那个类中我有这样的代码, context.Response.Clear(); cont
我在 Azure WebApp 中有一个 REST API。当 POST 发送到我的端点时,我会进行一些检查,如果需要,我会抛出 HttpException: throw new HttpExcept
当我对 ClaimsIdentity 中的某些声明执行“foreach”循环时遇到问题。当我单步执行它时 - 在它应该完成枚举时,我看到它返回到“in”,然后在我收到有关与 SQL Server 连接
function ValidateProductID(sender, args) { var productID = document.getElementById('').value;
我有一个 Silverlight/ASP 托管应用程序。当我开始时,我得到错误: HttpException occurred File does not exist. 这是昨天才开始发生的,我不知道
我是一名优秀的程序员,十分优秀!