Moshi:为什么不需要注册生成的 JsonAdapters?
Moshi: Why no need to register generated JsonAdapters?
我正在使用 Moshi 及其 CodeGen 为 Retrofit 的 ConvertorFactory 自动生成 Kotlin JsonAdaptor。
我在我的数据 类 之上添加了 @JsonClass(generateAdapter = true)
,并且在创建项目之后所有适配器都将可用。然后我在这样的改造构建器中定义 MoshiConverterFactory.create(moshi)
:
val moshi = Moshi.Builder().build()
Retrofit.Builder()
.baseUrl(/* baseUrl */)
.client(/* okHttpClient */)
.addConverterFactory(MoshiConverterFactory.create(moshi))
.addCallAdapterFactory(/* ... */)
.build()
我的问题是:Moshi 如何找到生成的适配器?
如您所见,不需要将它们注册为 Moshi 的自定义 JsonAdapter。他们工作得很好。 (我在调试模式下检查了它们,它们的功能将被调用)
如果您向我推荐它的源代码,我很高兴。
Moshi 使用命名约定来查找生成的适配器。它会尝试在预期位置找到那些 类,如果找到它们,就会使用它们。
我正在使用 Moshi 及其 CodeGen 为 Retrofit 的 ConvertorFactory 自动生成 Kotlin JsonAdaptor。
我在我的数据 类 之上添加了 @JsonClass(generateAdapter = true)
,并且在创建项目之后所有适配器都将可用。然后我在这样的改造构建器中定义 MoshiConverterFactory.create(moshi)
:
val moshi = Moshi.Builder().build()
Retrofit.Builder()
.baseUrl(/* baseUrl */)
.client(/* okHttpClient */)
.addConverterFactory(MoshiConverterFactory.create(moshi))
.addCallAdapterFactory(/* ... */)
.build()
我的问题是:Moshi 如何找到生成的适配器?
如您所见,不需要将它们注册为 Moshi 的自定义 JsonAdapter。他们工作得很好。 (我在调试模式下检查了它们,它们的功能将被调用)
如果您向我推荐它的源代码,我很高兴。
Moshi 使用命名约定来查找生成的适配器。它会尝试在预期位置找到那些 类,如果找到它们,就会使用它们。