改造2无效返回

问题描述 投票:11回答:2

在Retrofit 2中,表示http方法的服务方法必须返回Call

Call是一个泛型,它必须采用表示http方法的返回对象的类型。

例如,

@GET("/members/{id}")
Call<Member> getMember(@Path("id") Long id);

对于诸如删除之类的http方法,不返回任何内容。在这种情况下,应该向Call提供什么参数?

retrofit2
2个回答
29
投票

只需将Void设置为Type。

@DELETE("/members/{id}")
Call<Void> removeMember(@Path("id") Long id);

1
投票

如果您正在使用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)})
© www.soinside.com 2019 - 2024. All rights reserved.