android Observable api请求参数设置注解问题

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());

   }
复制代码

 

posted @   大自然的流风  阅读(2007)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2015-10-29 linux查看日志文件内容命令tail、cat、tac、head、echo
2012-10-29 汉字字符串转换成十六进制byte数组,一个汉字存到两个byte里面,大整数存到两个byte里面
点击右上角即可分享
微信分享提示