我想在翻新2中使用Moshi代码源。下面的代码生成FooJsonAdapter
。
即
@JsonClass(generateAdapter=true)
data class Foo(val name: String)
产生
class FooJsonAdapter(moshi: Moshi) : JsonAdapter<Foo>() { // details are omitted
private val options: JsonReader.Options
private val stringAdapter: JsonAdapter<String>
override fun toString(): String
override fun fromJson(reader: JsonReader): Foo
override fun toJson(writer: JsonWriter, value: Foo?)
}
我想使用此生成的适配器进行翻新,但是MoshiConverterFactory.create
的输入参数必须为Moshi
对象,而不是JsonAdapter
。如何将生成的适配器(或自定义适配器)用于Retrofit2?
<>
val moshi = Moshi.Builder().add(
FooJsonAdapter(
Moshi.Builder().build()
)
).build()
此代码失败
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.bootcamp/com.android.bootcamp.MainActivity}: java.lang.IllegalArgumentException: Expected at least one @ToJson or @FromJson method on com.android.bootcamp.model.FooJsonAdapter
代码生成正常吗?