在我的android应用中:
这是我的界面方法:
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query
@GET("traders/json")
suspend fun getTraidersList(): Response<List<Trader>>
很好。
但是我需要将2个自定义属性添加到retrofit2.Response
例如
val isCorrect : boolean
val myCustom : MyCustomClass
我要set/get
此属性。像这样的SMT:
val response: Response<List<Trader>> = TransportService.getTraidersList()
if (response.isCorrect) {
// do some logic
}
val myCustom = response.getMyCustom()
在科特林有可能吗?
答案 0 :(得分:0)
在Kotlin中,您唯一可以做的就是添加一些扩展成员,这些扩展成员实际上只是通常的Java静态方法。扩展获取器和设置器周围的所有内容也都使用静态方法进行了仿真。
基于上述内容,我们无法使用静态方法添加新状态(字段)。
但是我们能做些什么(我对Retrofit不熟悉,应该是可能的),就是使用扩展getter isCorrect
,它可以读取响应状态,如果是4xx
或5xx
返回false