android Observable api请求参数设置注解问题
2018-10-29 20:05:24.919 11786-11786/xxx E/wxh: getQuote=USD getBase=ETH
2018-10-29 20:05:24.927 11786-11786/xxx E/ProgressObserver____: onSubscribe:
2018-10-29 20:05:24.933 11786-11841/xxx D/OkHttp: --> POST http://192.168.2.xx:xxxx/api/v1/favorites/%7Bpair%7D
LogUtil.e("wxh", "getQuote=" + data.getQuote() + " getBase=" + data.getBase());
subscribe(coinSearchActivity,Api.getApiService().addFavorites(data.getQuote() + data.getBase()),
new ObserverResponseListener() {
打印出来是有值的,为什么传到接口那是没有替换掉?
@FormUrlEncoded
@POST("api/v1/favorites/{pair}")
Observable addFavorites(@Field("pair") String pair);
如果直接把@Field改成@Path则直接崩溃了
问题:没有表单字段的不能用@FormUrlEncoded、@Field注解,URL里面的参数的使用@Path注解,@FormUrlEncoded和@Path注解不能同时使用
//添加收藏
@POST("api/v1/favorites/{pair}")
Observable addFavorites(@Path("pair") String pair);
public voidaddFavorites(CoinListInfo data,BaseBindingAdapter mAdapter){
LogUtil.e("wxh", "getQuote=" + data.getQuote() + " getBase=" +data.getBase());
subscribe(coinSearchActivity,Api.getApiService().addFavorites(data.getQuote()+data.getBase()),new ObserverResponseListener() {
@Overridepublic voidonNext(Object o) {//ToastUtil.showLongToast("add favorites on next");//if exits set true or set false
data.isFavorite.set(Boolean.TRUE);
mAdapter.notifyDataSetChanged();
}
@Overridepublic voidonError(Throwable e) {
ToastUtil.showLongToast("add favorites on error");
}
}, coinSearchActivity.bindToLifecycle());
}