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

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

     
  • 相关阅读:
    PHP权限控制系统PHPGACL
    专注于系统开发
    PHP多条件查询处理
    SMTP协议初探(二)linux下c编程实现发邮件
    linux物理内存探测
    使用select和shutdown
    float & double 内存布局
    网易校园招聘c++题目如何让new操作符不分配内存,只调用构造函数
    linux内存管理概述
    linux物理内存描述
  • 原文地址:https://www.cnblogs.com/yizuochengchi2012/p/5680809.html
Copyright © 2011-2022 走看看