代码之家  ›  专栏  ›  技术社区  ›  dotGitignore

需要errorBody()开始数组

  •  1
  • dotGitignore  · 技术社区  · 7 年前

    我在努力改变 errorBody RegistrationResponse 但它总是 Expected BEGIN_ARRAY but was BEGIN_OBJECT

    注册响应

    data class RegistrationResponse(
        val status: Boolean,
        val errors: List<RegistrationBody>
    )
    

    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))
    

    但错误仍然是 应为BEGIN_数组,但为BEGIN_对象

    1 回复  |  直到 7 年前
        1
  •  3
  •   IntelliJ Amiya    7 年前

    应为BEGIN_数组,但为BEGIN_对象

    RegistrationBody 对象 阵列 .

        data class RegistrationResponse(
        val status: Boolean,
        val errors: RegistrationBody
    )