在Retrofit 2中,表示http方法的服务方法必须返回Call
。
Call
是一个泛型,它必须采用表示http方法的返回对象的类型。
例如,
@GET("/members/{id}")
Call<Member> getMember(@Path("id") Long id);
对于诸如删除之类的http方法,不返回任何内容。在这种情况下,应该向Call
提供什么参数?
只需将Void设置为Type。
@DELETE("/members/{id}")
Call<Void> removeMember(@Path("id") Long id);
如果您正在使用Kotlin / Retrofit / Rxjava / RxKotlin
@Headers(JwtKeyTokenWithValue)
@DELETE("/members/{id}")
fun removeMember(@Path("id") Long id): Completable
并且可以这样订阅
apiManager
.removeMember()
.subscribe(
{ Timber.i { "Member Removed!" } },
{ t -> Timber.e(t)})