zoukankan      html  css  js  c++  java
  • Retrofit 2.0 throwing @Field parameters can only be used with form encoding

    最近在学习Retrofit2.0想用Retrofit + Dagger2 + RxJava + ButterKnife一起使用重构项目 一方面自己的demo随着业务逻辑的增多

    显得非常的乱 另一方面代码和其他人合作写的繁多 重新看代码时往往业务逻辑从上往下看半天 好蛋疼== 

    最主要是 Retrofit + Dagger2 + RxJava + ButterKnife 搭配demo的特点是 代码简洁简洁简洁!!!爽!

    不信请看这个:http://blog.csdn.net/finddreams/article/details/50849385(感谢这位作者)

    好了 记录一下吧

    Retrofit2.0 使用Post请求方式 

    @POST("get_smscode")
    Observable<MsgInfoBean> getInfo(@Field("mobilePhoneNumber")String mobilePhoneNumber);
    报错:@Field parameters can only be used with form encoding

    到http://square.github.io/retrofit/去查 发现 少了 一句注释
    @FormUrlEncoded加上就OK。

    另外关于添加header

    public static Retrofit getInstance() {

        if(retrofit==null){
    GsonConverterFactory gsonConverterFactory = GsonConverterFactory.create();
    OkHttpClient okHttpClient = new OkHttpClient();
    OkHttpClient.Builder builder = okHttpClient.newBuilder();
    builder.retryOnConnectionFailure(true);
    retrofit=new Retrofit.Builder().client(new OkHttpClient().newBuilder().addInterceptor(new Interceptor() {

    @Override
    public Response intercept(Chain chain) throws IOException {

    Request request = chain.request().newBuilder()
    .addHeader("X-LC-Id",ConstanApi.APP_ID)
    .addHeader("X-LC-Key",ConstanApi.APP_KEY)
    .build();

    return chain.proceed(request);
    }
    }).build())
    .baseUrl(ConstanApi.baseUrl)
    .addConverterFactory(gsonConverterFactory)
    .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
    .build();
    }
    return retrofit;
    }

    关于使用Retrofit的所有问题见:https://futurestud.io/blog/retrofit-add-custom-request-header

    最后 附上一张帅图 接着赶路:

     
  • 相关阅读:
    Linux 下 发布jar
    Jquery判断浏览器版本
    根据2个字符串得到2个串之间的连续数 并返回list
    Eclipse中user library包管理
    /bin/sh^M: bad interpreter: No such file or directory AND 使用Shell脚本查找程序对应的进程ID,并杀死进程
    split方法为空判断
    apache common 工具
    fmt:message key为el表达式 fmt其他格式化
    集群
    shell脚本控制jar的启动和停止
  • 原文地址:https://www.cnblogs.com/yizuochengchi2012/p/5680809.html
Copyright © 2011-2022 走看看