Android数据模型仅包含我需要的字段

时间:2019-06-05 19:36:04

标签: android gson retrofit

如果我使用翻新和数据模型。数据模型是否需要具有API返回的所有字段?我只需要一些字段。

3 个答案:

答案 0 :(得分:3)

否,您不必编写API返回的所有字段。您只能编写所需的字段,而其余字段保持不变。

此外,请注意,不要忘记使用@SerializedName("key")为模型变量添加注释,以允许Serializationdeserialising的对象,只是在使用时要记住的一点使用API​​。

答案 1 :(得分:1)

否,不是必需的。如果只需要一个字段,则只声明一个字段,只有该字段将获取其值。但是,您应该注意,仅声明某些字段并不意味着您仅收到这些字段的值。您将收到所有字段,但Gson转换器会为您生成紧凑的Java对象

答案 2 :(得分:1)

这不是必需的,如果不需要这些值,则不要添加它们。但是,如果响应中有或没有出现它们,则可以使用kotlin的可为空的运算符(?),因此无论是否出现,您都可以处理。 在此示例中,如果响应中包含电话,则会对其进行解析。如果不存在,则不会进行解析。如果您不使用(?)运算符,并且电话不存在,则会抛出异常。

data class AdMessage(@SerializedName("body") val message: String,
                          @SerializedName("email") val email: String,
                          @SerializedName("name") val name: String,
                          @SerializedName("phone") val phone: String?)