请求参数呢大致如下,到个别人的图, 下面就说下这些内容使用

其中 @Path、@Query、@QueryMap 使用 Get 请求 , 加入使用了Post 请求注解使用@Path  一般都会是项目崩溃的,

所以这里我总结了一下自己使用的经验

1 @Path 会是url 中带有参数一般配合{} 一起

 @GET("toutiao/index/{type}/{key}")Observable<BaseBean<LoginBean>> getLogin(@Path("type")String type,@Path("key") String key);

请求地址类似这样的

这样的请求一般 是把要传递的参数直接拼接到url 后面

2 @Query 是把key-value 拼接到url 后面 不要使用{}

 @GET("toutiao/index/ ")Observable<BaseBean<LoginBean>> getLogin(@Query("type") String type,@Query("key") String key);

请求地址类似这样的

3 @QueryMap 这个和@Query 差不多,就是当参数很多的时候直接传递一个map 写法如下

    @GET("toutiao/index/ ")Observable<BaseBean<LoginBean>> getLogin(@QueryMap Map<String, String> map);

请求接口地址

上面三个请求参数使用的GET请求

常使用的@Field 和@FieldMap

实用与POST 请求

4 @Field  一般 配合 @FormUrlEncoded 使用

*************************************************************

标记类 :

@FormUrlEncoded主要是做表单提交,与@POST结合使用

@Multipart主要是与@POST结合使用做文件的上传

@Streaming主要做大文件下载

***************************************************************

一般使用如下

@FormUrlEncoded@POST("toutiao/index")Observable<BaseBean<LoginBean>>getPostLogin(@Field("type") String type,@Field("key") String key);

5  @FieldMap

一般使用如下

 @FormUrlEncoded@POST("toutiao/index")Observable<BaseBean<LoginBean>>getPostLogin(@FieldMap Map<String, String> map);

@Body

会将请求参数放到请求体中,适用于POST请求 个人感觉和Map 类似,使用方法如下

public interface NetApi {@POST("toutiao/index")Call<CallBean>getNews(@Body LoginParams loginParams);class LoginParams{public String type;public String key;}

调用

  Retrofit retrofit = new Retrofit.Builder()  //创建Retrofit 对象.baseUrl("http://v.juhe.cn/") //指定url.addConverterFactory(GsonConverterFactory.create()) //把json 转成bean.build();NetApi netApi = retrofit.create(NetApi.class); //创建一个请求接口的api//请求传递参数
//                Call<CallBean> data = netApi.getNews("top","b3aecf831dae022145e308abe1af773a");NetApi.LoginParams params = new NetApi.LoginParams();params.type ="top";params.key ="11111111";Call<CallBean> data = netApi.getNews(params);//执行异步请求data.enqueue(new Callback<CallBean>() {@Overridepublic void onResponse(Call<CallBean> call, Response<CallBean> response) {Log.e("----------result", response.body().toString());}@Overridepublic void onFailure(Call<CallBean> call, Throwable t) {Log.e("-------onFailure", String.valueOf(t));}});

Retrofit 网络请求参数注解@Path @Field @Query 等使用相关推荐

  1. Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结(超级实用)以及以Json格式和form-data格式提交数据

    我总结的不是很全,这位博主介绍的十分详细:超级实用 https://blog.csdn.net/guohaosir/article/details/78942485 Retrofit 以Json格式提 ...

  2. Android Flow遇见Retrofit网络请求实践

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/121754941 本文出自[赵彦军的博客] 文章目录 前言 RetrofitFlow ...

  3. Retrofit网络请求框架使用简析——Android网络请求框架(四)

    题记:-- 很累,累到想要放弃,但是放弃之后将会是一无所有,又不能放弃, 唯有坚持,唯有给自忆打气,才能更勇敢的走下去,因为无路可退,只能前行, 时光一去不复返,每一天都不可追回,所以要更珍惜每一存光 ...

  4. retrofit content-length为0_LiveData+Retrofit 网络请求实战

    code小生,一个专注 Android 领域的技术平台公众号回复 Android加入我的安卓技术群 作者:星星y 链接:https://www.jianshu.com/p/34fb6ffaa684 声 ...

  5. MVP框架+Retrofit网络请求

    /----HttpConfig -----/ public class HttpConfig { //https://www.zhaoapi.cn/product/getProducts?pscid= ...

  6. Retrofit网络请求数据的使用

    需要添加的依赖 compile 'com.squareup.retrofit2:retrofit:2.3.0' 需要添加网络权限 <uses-permission android:name=&q ...

  7. retrofit网络请求失败,postman接口请求成功,项目请求失败

    需添加head参数 如: headers.put("Accept-Language", "zh-CN,zh;q=0.8"); headers.put(" ...

  8. Retrofit get请求参数

    第一种可以用Query() @GET(Url.statisticsApi) Call<ResponseBody> statisticsApi(@Header("Authoriza ...

  9. 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用

    <一>四种请求方式: GET 向服务器发起数据请求,获取信息.类似于数据库的select操作,只是查询,不会影响资源的内容. POST 向服务器发送数据,该请求会改变数据的种类等资源.类似 ...

最新文章

  1. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 5. 决策树
  2. [导入]php 安全基础 附录C. 加密
  3. java 中的2个接口 Comparable和Comparator
  4. modelform save
  5. ZOJ 3962:Seven Segment Display(思维)
  6. source insight 支持lua /ruby
  7. Excel 工作表,单元格破解密码宏
  8. 50万块钱,在哪个银行存钱最合适?
  9. 小议传统分层与新式分层,抑或与DDD分层
  10. 如何开发小程序开发者工具?
  11. bzoj5108 数据_成都day3t3
  12. python套用word模板_如何使用Python批量创建Word模板
  13. HDU3591找零,背包
  14. 线性代数【八】二次型
  15. 反编译工具Reflector下载(集成两个常用.net插件,FileGenerator和FileDisassembler)
  16. c# chart 点值标注_C# chart控件参数设定总结
  17. java 数字转英文_一个java的问题 讲输入的阿拉伯数字转换成英文
  18. Google Earth Engine——可视化的美国加州圣华金河流域的100年气候预测模型
  19. 报错:RuntimeError: expected scalar type Double but found Float
  20. 程序设计思维与实践 CSP-M2 (3/4/数据班)

热门文章

  1. liunx上mysql源码安装mysql,搞定linux上MySQL编程(一):linux上源码安装MySQL
  2. 2022-2028年中国婴儿用品市场投资分析及前景预测报告
  3. 2022-2028年中国快捷酒店行业市场全景评估及前瞻分析报告
  4. 2022-2028年中国阻燃母料行业市场深度分析及发展规模预测报告
  5. 字符常量和仅包含一个字符的字符串之间的区别
  6. 3分钟4 步快速带你在win10电脑装上openCV3.4 (python使用)
  7. 使用余弦相似度算法计算文本相似度-数学
  8. 机器学习——标准化/归一化的目的、作用和场景
  9. TensorFlow XLA优化与Memory
  10. HBM2E Flashbolt--提升人工智能的算力