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

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

     
  • 相关阅读:
    性能测试流程
    N种自动化测试框架(包含自动化和性能,总有一款适合你)
    自动化测试框架:jmeter + maven+ jenkins
    oracle中删除表:drop、delete、truncate
    SpringBoot开发mockserver及生成swagger接口文档
    五步法颈椎病自我按摩图解
    自动化必备:自动化持续集成环境搭建(上):git + maven + jenkins
    玩转jmeter:beanshell必备技能
    EFK-2:ElasticSearch高性能高可用架构
    MySQL5.7之在线DDL不会锁表
  • 原文地址:https://www.cnblogs.com/yizuochengchi2012/p/5680809.html
Copyright © 2011-2022 走看看