是否可以使用Retrofit 2连续向同一个端点发出2个不同的POST请求?

时间:2018-01-17 08:04:05

标签: android retrofit retrofit2

所以我想发一个POST请求,向服务器发送一个,b,c值得到一个响应,然后再发一个POST请求,这次发送d,e,f值。

posts

他们的POJO不同但终点是相同的。是否有可能做到这一点?第一个请求中没有问题。

1 个答案:

答案 0 :(得分:1)

您可以使用RxJava' s Observable.concat()

Observable.concat(yourReftrofitService.postInit(req1), yourReftrofitService.postInitOk(req2))

将改装服务改为(注意使用Observable):

@POST("getRequest")
Observable<InitPost> postInit(@Body InitPost initPost); 

@POST("getRequest")
Observable<InitPostOk> postInitOk(@Body InitPostOk initPostOk);

正如@Pankaj所提到的,另一种方法是使用flatMap ...如果你想在请求2中使用请求1的结果,这个特别有用。