Retrift

news2024/10/5 23:27:51

文章目录

  • 一、Retrift简介
  • 二、Retrift使用介绍
  • 三、注解
    • 1、GET
    • 2、POST
    • 3、PUT
    • 4、DELETE

一、Retrift简介

retrift官网

1、是一个基于okhttp的网络请求框架
2、通过注解配置网络请求参数
3、图片链接和图片上传
4、支持同步和异步网络请求
5、支持多种数据的解析,提供对Rxjava的支持
6、可拓展性好,高度封装,简洁易用

二、Retrift使用介绍

1、添加Retrofit库的依赖
2、创建接收服务器返回数据的类
3、创建用于描述网络请求的接口
4、创建 Retrofit 实例
5、创建 网络请求接口实例 并 配置网络请求参数
6、发送网络请求(异步 / 同步)
7、处理数据

三、注解

参考:https://zhuanlan.zhihu.com/p/141592512?from_voters_page=true

在这里插入图片描述

1、GET

  • http://192.168.43.173/api/trades
//简单的get请求(没有参数)
 @GET("trades")
 Call<TradesBean> getItem();
  • http://192.168.43.173/api/trades/{userId}
//简单的get请求(URL中带有参数)
  @GET("News/{userId}")
  Call<TradesBean> getItem(@Path("userId") String userId);
//简单的get请求(URL中带有两个参数)
  @GET("News/{userId}")
  Call<TradesBean> getItem(@Path("userId") String userId,@Path("type") String type);
  • http://192.168.43.173/api/trades?userId={用户id}
//参数在url问号之后
 @GET("trades")
 Call<TradesBean> getItem(@Query("userId") String userId);
  • http://192.168.43.173/api/trades?userId={用户id}&type={类型}
 @GET("trades")
 Call<TradesBean> getItem(@QueryMap Map<String, String> map);
 @GET("trades")
 Call<TradesBean> getItem(
                @Query("userId") String userId,
                @QueryMap Map<String, String> map);

2、POST

  • http://192.168.43.173/api/trades/{userId}
//需要补全URL,post的数据只有一条reason
 @FormUrlEncoded
 @POST("trades/{userId}")
 Call<TradesBean> postResult(
         @Path("userId") String userId,
         @Field("reason") String reason;

  • http://192.168.43.173/api/trades/{userId}?token={token}
//需要补全URL,问号后需要加token,post的数据只有一条reason
 @FormUrlEncoded
 @POST("trades/{userId}")
 Call<TradesBean> postResult(
         @Path("userId") String userId,
         @Query("token") String token,
         @Field("reason") String reason;

//post一个对象
 @POST("trades/{userId}")
 Call<TradesBean> postResult(
         @Path("userId") String userId,
         @Query("token") String token,
         @Body TradesBean bean;

//用不同注解post一个实体
 @POST("trades/{userId}")
 Call<TradesBean> postResult(
         @Part("entity") TradesBean bean;

3、PUT

//put一个实体
 @PUT("trade/carInfo/{pid}")
 Call<TradesBean> putInfo(
             @Path("pid") Int pid,
             @Body CarInfoBean carInfoBean;)

4、DELETE

  • http://192.168.43.173/api/trades/{userId}
//补全url
 @DELETE("trades/{userId}")
 Call<TradesBean> deleteInfo(
         @Path("userId") String userId;  
  • http://192.168.43.173/api/trades/{userId}?token={token}
//补全url并且后面还token
 @DELETE("trades/{userId}")
 Call<TradesBean> deleteInfo(
         @Path("userId") String userId,
         @Query("token") String token;)  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

光环:软件工程环境堆栈建设思路——徐磊

摘要&#xff1a;文章内容主要来源于光环国际2022年第三届中国科创者大会徐磊老师的分享&#xff0c;原分享名称为"企业开发者平台建设思路&#xff0c;云原生技术如何赋能开发者"。简述当前软件工程中Devops平台还缺少一个软件调试环境环节&#xff0c;这个环境其实…

stacking方法,boosting算法,与bagging的区别,adboost算法权重固定,regionboost权重动态学习

stacking方法&#xff0c;boosting算法&#xff0c;与bagging的区别&#xff0c;adboost算法权重固定&#xff0c;regionboost权重动态学习 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#…

VBA之正则表达式(38)-- 提取规格数据(1/2)

实例需求&#xff1a;A列为某产品名称&#xff0c;现需要提取其中的规格数据&#xff0c;具体规则如下&#xff1a; 规格数据以如下关键字开头&#xff1a;RO、RE、SQ、SD、QD、OB、HX、ET、QR、D2规则数据可能有多段&#xff08;截图中红色部分&#xff09;提取规格数据之后&…

数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql

学大数据分析的同学们在做数据分析时一般很难找到适合数据集&#xff0c;本文就来分享一下如何利用Java模拟数据&#xff0c;并将产生数据保存至mysql数据库中。 主要技术就是Java产生数据&#xff0c;利用mybatis存入mysql数据库 数据模拟项目1.数据库建表2.构建maven项目3.项…

初级指针【一】

指针是什么&#xff1f;2个要点&#xff1a;指针是内存中一个最小单元编号&#xff0c;也就是地址。平时口语中说的指针&#xff0c;通常指的是指针变量&#xff0c;是用来存放地址的变量。总结&#xff1a;指针就是地址&#xff0c;我们口语中说的指针指的是指针变量。指针的大…

ZooKeeper分布式协调服务(节点分类、事件监听、java集成)

文章目录前言安装启动相关概念操作节点事件监听java客户端前言 ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xf…

序列化二叉树 - 剑指Offer困难

序列化二叉树 题目链接 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑&#xff0c;你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为…

Alibaba Clould Tookit插件-IDEA实现一键部署

Alibaba Clould Tookit插件-IDEA实现一键部署 文章目录 前言说明使用 安装插件配置服务添加服务配置打包上传等内容 配置自动化配置命令配置文件上传前执行的命令 远程发布查看是否成功注意脚本 前言 本来一直使用jenkins后来坏掉了&#xff0c;别问&#xff0c;问就是老板…

(三分钟了解)处理外点(粗差)的方法--ransac和M估计

​ 编辑 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 外点也即是我们所说的粗差&#xff0c;是因为在实际工程当中由于人为因素或者测量设备等因素造成的测量值与实际情况相比误差较大。然后从高斯分布的角度来说就是大于3σ以外的数据。本篇博客将…

STM32——OLED调试工具与显示屏

文章目录一、调试工具二、OLED简介三、硬件电路接线图四、OLED驱动函数五、源码OLED.cOLED.hOLED_Font.h一、调试工具 调试方式 串口调试&#xff1a;通过串口通信&#xff0c;将调试信息发送到电脑端&#xff0c;电脑使用串口助手显示调试信息 显示屏调试&#xff1a;直接将…

ip综合实验

目录实验要求分析开始实施1&#xff0c;前期工作2&#xff0c;缺省路由配置3&#xff0c;hdlc封装4&#xff0c;ppp封装的pap认证5&#xff0c;ppp封装的chap认证6&#xff0c;构建MGRE环境nhrp协议7&#xff0c;RIP使内网互通水平分割关闭实验要求分析 1&#xff0c;如图为实…

2023前端二面高频vue面试题集锦

vuex是什么&#xff1f;怎么使用&#xff1f;哪种功能场景使用它&#xff1f; Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。vuex 就是一个仓库&#xff0c;仓库里放了很多对象。其中 state 就是数据源存放地&#xff0c;对应于一般 vue 对象里面的 data 里面存放的数据…

Js es6 Promise理解和使用

js中的promise是一个异步编程的解决方案&#xff0c;语法层面上他是一个构造函数&#xff0c;名字为Promise()。 它的作用就是将一个任务task封装为一个Promise类的实例对象&#xff0c;这个对象会将任务自动运行并得到任务结果&#xff0c;而且在得到结果的过程中并不会影响到…

告诉你应该选择 openSUSE 的五大理由

导读多数的的桌面 Linux 用户都会选择三种发行版本&#xff1a;Debian/Ubuntu、Fedora 或者 Arch Linux。但是今天&#xff0c;我将给出你需要使用 openSUSE 的五大理由。相比其他的 Linux 发行版&#xff0c;我总能在 openSUSE 上看到一些令人耳目一新的东西。我说不太好&…

多普勒效应(CSDN_0003_20220909)

目录 1. 机械波的多普勒效应 2. 电磁波的多普勒效应 文章编号&#xff08;CSDN_0003_20220909&#xff09; 由于原文公式较多&#xff0c;所以本文部分内容以截图的形式分享给大家&#xff0c;如果需要电子版原文&#xff0c;可留言或私信。 但凡提高雷达原理和雷达信号处理&a…

【前端】Vue项目:旅游App-(2)TabBar:搭建TabBar、循环获取动态数据、相关工具封装

文章目录目标代码与过程静态htmlcss改成动态数据效果总代码修改或新建的文件tabbarData.jstab-bar.vueload_assetsApp.vue目标 有两种实现方式&#xff1a; 把数据写死&#xff08;静态、直接写在html中&#xff09;动态数据&#xff1a;封装、vite获取动态数据方法 代码与过…

python详解(6)——键盘鼠标操控术(娱乐篇)

目录 本文为原创作品&#xff0c;抄袭必究&#xff01; &#x1f3c6;一、前言 &#x1f3c6;二、pyautogui模块 &#x1f3c6;三、鼠标相关操作 &#x1f6a9;1、鼠标移动 &#x1f6a9;2、获取鼠标位置 &#x1f6a9;3、鼠标点击 &#x1f6a9;4、按松鼠标 &#x1f6a9;5、拖…

笔耕不辍,学习习惯?兴趣爱好?源于对真知的热爱?

干程序员工作、上班赚钱、读书写作、股票投资&#xff0c;加班加点、充满激情&#xff0c;吸金赚钱、养家糊口、为自由和梦想而奋斗&#xff0c;这是比较基础的。 但如果想着奋斗的过程中&#xff0c;充满干劲地做一件事&#xff0c;坚持下去&#xff0c;投入沉迷其中&#xf…

Docker入门介绍

一、Docker介绍 1、Docker是什么&#xff1f; Docker &#xff0c;翻译过来就是码头工人. 虚拟化容器技术。Docker基于镜像&#xff0c;可以秒级启动各种容器。每一种容器都是一个完整的运行 环境&#xff0c;容器之间互相隔离。 Docker是一个开源的应用容器引擎&#xff0…

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake

Ubuntu Linux基本操作安装工具安装ROSg编译Cmake 1、进入到根目录 cd /2、回到当前工作空间 cd ~3、查看目录中的内容 lsll4、创建文件夹 mkdir 1235、删除文件夹 rm -rf 123/这里我们在输入要删除的文件夹名时&#xff0c;可以通过按tab键快速补全对应的文件夹名。 按两…