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<Object>() {
打印出來是有值的,為什么傳到接口那是沒有替換掉?
@FormUrlEncoded
@POST("api/v1/favorites/{pair}")
Observable<Object> addFavorites(@Field("pair") String pair);
如果直接把@Field改成@Path則直接崩潰了
問題:沒有表單字段的不能用@FormUrlEncoded、@Field注解,URL里面的參數的使用@Path注解,@FormUrlEncoded和@Path注解不能同時使用
//添加收藏
@POST("api/v1/favorites/{pair}")
Observable<Object> addFavorites(@Path("pair") String pair);
public void addFavorites(CoinListInfo data,BaseBindingAdapter mAdapter){ LogUtil.e("wxh", "getQuote=" + data.getQuote() + " getBase=" + data.getBase()); subscribe(coinSearchActivity,Api.getApiService().addFavorites(data.getQuote() + data.getBase()), new ObserverResponseListener<Object>() { @Override public void onNext(Object o) { //ToastUtil.showLongToast("add favorites on next"); //if exits set true or set false data.isFavorite.set(Boolean.TRUE); mAdapter.notifyDataSetChanged(); } @Override public void onError(Throwable e) { ToastUtil.showLongToast("add favorites on error"); } }, coinSearchActivity.bindToLifecycle()); }