在我的android项目中,我使用Retrofit:
@POST("/correspondents/{correspondent_id}")
fun updateCorrespondent(@Path("correspondent_id") correspondentId: String, @Body body: JsonElement): Call<Void>
所以我这样从客户打来电话:
fun updateCorrespondent(correspondent: Correspondent, callback: Callback<Void>) {
val call = myRestClient.updateCorrespondent(correspondent.id, correspondent.toUpdateJson())
call.enqueue(callback)
}
很好,很好。
但是我需要做@Path("correspondent_id")
可选。
我需要这样从客户打来电话:
fun updateCorrespondent(correspondent: Correspondent, callback: Callback<Void>) {
val call = tangoRestClient.updateCorrespondent(correspondent.toUpdateJson())
call.enqueue(callback)
}
有可能吗?
目前,我使用两种单独的方法:
@POST("/correspondents/{correspondent_id}")
fun updateCorrespondent(@Path("correspondent_id") correspondentId: String, @Body body: JsonElement): Call<Void>
@POST("/correspondents/create")
fun createCorrespondent(@Body body: JsonElement): Call<Void>
是否可以仅使用一种带有可选@Path
的方法?
答案 0 :(得分:1)
@POST("/correspondents/{correspondent_id}") fun updateCorrespondent(@Path("correspondent_id") correspondentId: String?="create", @Body body: JsonElement): Call<Void>
当您不需要对应的ID时,请致电
mtRestClient.updateCorrespondent(body = correspondent.toUpdateJson())