4 回答
TA贡献2012条经验 获得超12个赞
更新:
Kotlin 中的 Pojo 对象是数据类,注解的使用与 Java 中一样
回答:
如果您的应用程序是 Restful,那么从 / 向服务器获取和发送数据
需要添加转换器工厂,只是为了改造可以将JSON数据(从服务器获取)转换为Java(模型)对象(POJO),以在Android项目中使用。
有一些转换器库用于将 JSON 转换为 Java 对象,(GSON、Jackson..等)您必须决定要在项目中使用哪个转换器并添加相同的工厂
app.gradle 中的依赖项
implementation "com.squareup.retrofit2:converter-gson:VERSION"
和改造设置中的工厂
GsonConverterFactory
或者JacksonConverterFactory
Retrofit.Builder().addConverterFactory(GsonConverterFactory.create());
此外,如果远程数据类型是 XML,则需要添加SimpleXmlConverterFactory
TA贡献1804条经验 获得超7个赞
世界不仅仅是json和gson。您可以使用其他格式来实现 Rest API,即 XML。
此外,在 json 解析器的世界中,不仅有gson
Jackson 和 Moshi,而且更像是这样。
在 Retrofit 中维护所有可能的格式转换器是极其困难的,因此它将解析卸载到实现转换器接口的类。将其置于工厂之后,Retrofit 甚至可以将这些转换器的创建解耦,因此它可以针对不同的响应和请求使用不同的转换器。
这也允许您在同一个 Retrofit 实例中拥有多个转换器,这也是一种让您实现自己的转换器的简单方法。
总而言之,这种解耦比将其与特定库耦合具有更大的灵活性。
TA贡献1877条经验 获得超1个赞
如果您使用的是 Spring,您应该创建一个映射器配置(或使用默认值,如本例所示),在改造配置中,您应该使用以下代码:
@Bean
fun retrofitBuilder(): Retrofit.Builder {
return Retrofit.Builder()
.addConverterFactory(JacksonConverterFactory.create(ObjectMapper()))
}
然后,在您的应用程序中可以读写 Kotlin 数据类 Json,即使没有 @ 信息。
添加回答
举报