- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 errorBody
转换为我的 RegistrationResponse
但它总是抛出一个 Expected BEGIN_ARRAY but was BEGIN_OBJECT
注册响应
data class RegistrationResponse(
val status: Boolean,
val errors: List<RegistrationBody>
)
注册主体
data class RegistrationBody(
val lastname: String,
val firstname: String,
val middlename: String
)
我的转换器
if (it is HttpException) {
if (it.code() == 400) {
// Bad Request
val errorConverter: Converter<ResponseBody, RegistrationResponse>? = retro?.responseBodyConverter(RegistrationResponse::class.java, arrayOfNulls<Annotation>(0))
Log.i("TAG", "${errorConverter?.convert(it.response().errorBody())}")
}
}
我的预期输出
{
status: false,
errors: {
lastName: "The last name is required.",
firstName: "The first name is required.",
middleName: "The middle name is required.",
}
}
我是否遗漏了代码中的某些内容?
我也试试
val errorConverter: Converter<ResponseBody, List<RegistrationResponse>>? = retro?.responseBodyConverter(RegistrationResponse::class.java, arrayOfNulls<Annotation>(0))
错误仍然是 Expected BEGIN_ARRAY but was BEGIN_OBJECT
最佳答案
Expected BEGIN_ARRAY but was BEGIN_OBJECT
RegistrationBody
是 OBJECT 而不是 ARRAY。
你应该使用
data class RegistrationResponse(
val status: Boolean,
val errors: RegistrationBody
)
关于android - errorBody() 应为 BEGIN_ARRAY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51889091/
我正在尝试将 errorBody 转换为我的 RegistrationResponse 但它总是抛出一个 Expected BEGIN_ARRAY but was BEGIN_OBJECT 注册响应
我正在执行一些 REST 调用,并得到响应。有时,响应不会正常,所以我需要解析响应,并以适当的方式呈现给用户注意和 react 。我有这段代码: if(response.code()!=200){
我正在开发一个 Android 应用程序。 我正在使用 Retrofit2 和 Coroutine 从我的 Rest API 中获取一些数据。 当我的 Rest API 中抛出异常时,它会返回异常代码
我正在努力改造。当我在浏览器中发布请求时,我收到这样的请求: 这就是我所期望的。但是,当我尝试在我的应用程序中解析它时,我不断收到 this 中的响应。线。我发现试图实现 this解决方案,但我的 e
也许我不懂 apis 或 Retrofit2,但是当我得到 500 Internal Server Error ,我想适本地通知用户。 当我在收到此错误后记录传入响应时,我得到 null当我这样登录时
我是一名优秀的程序员,十分优秀!