我有一种情况,我在 kotlin 中创建一个休息客户端作为一个实际的学习练习,最近遇到了这个问题:
data class ai constructor(val statusCode: Int,
val a: Long? = null,
val b: Long? = null,
val c: Date? = null,
val d: Long? = null,
val e: String? = null,
val f: String? = null)
问题是这样的,如果我返回 200,我将有数据填充“a”到“f”,但如果我得到 401 或几乎任何其他状态代码,我将没有数据填充“a”通过'f',因此我选择了上述解决方案,我只强制我将始终返回的状态代码不为空,然后将所有其他值默认为空。
我不想沿着将默认值设置为“”或-1之类的东西的路线走下去,因为如果用户不检查状态代码,这些数据总是有可能以某种方式通过。
真的我想传达信息不存在,这似乎可以做到这一点,但我想知道是否有更好的方法。