【发布时间】:2021-12-21 15:12:12
【问题描述】:
是否可以为所有 retorfit 调用提供“通用”适配器,例如我的响应总是嵌套在数据字段示例中:
{
"data": [
{
"name": "Hey",
"last_name": "Test"
},
{
"name": "Hey",
"last_name": "Test"
}
]
}
所以目前只有一个电话,我有 Moshi 适配器如下:
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class WrappedPersonsList
@JsonClass(generateAdapter = true)
data class PersonList(var data: List<PersonDto>)
class CustomJsonAdapter {
@WrappedPersonsList
@FromJson
fun fromJson(json: PersonList): List<PersonDto> {
return json.data
}
@ToJson
fun toJson(@WrappedPersonsList value: List<PersonDto>): PersonList {
throw UnsupportedOperationException()
}
}
因此,如果我添加另一个具有相同嵌套级别“数据”但不同字段的调用,我将再次必须创建具有新类型的适配器?或者是否可以使其通用,所以我总是直接跳到数据字段?
【问题讨论】: