首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Retrofit解析2之使用简介

,表示请求正文使用表单网址编码。...@Body 注解定义参数不能为null 当你发送一个post或put请求,但是又不想作为请求参数或表单方式发送请求使用该注解定义参数可以直接传入一个实体类,retrofit会通过convert...,然后践行URL编码,参数值为null是=,会自动忽略,如果传入是一个List或者array,则为每一个非空item拼接一个键值对,每一个键值对中键是相同,值就是非空item值。...2、@Header:作用于方法参数,用于添加请求使用 @Header 注解 定义请求头可以为空,为空,会自动忽略,传入一个List或者array,为拼接每个非空item值到请求头中。...二Retrofit2中,Retrofit与OkHttp强耦合,使得更好地利用OkHttp,包括使用OkHttp解决一些棘手问题

4.7K30

OkHttp使用完全教程

- 支持HTTP/2, HTTP/2通过使用多路复用技术在一个单独TCP连接上支持并发, 通过在一个连接上一次性发送多个请求发送接收数据 - 如果HTTP/2不可用, 连接池复用技术也可以极大减少延时...- 支持GZIP, 可以压缩下载体积 - 响应缓存可以直接避免重复请求 - 会从很多常用连接问题中自动恢复 - 如果您服务器配置了多个IP地址, 第一个IP连接失败时候, OkHttp...会自动尝试下一个IP - OkHttp还处理了代理服务器问题和SSL握手失败问题 使用 OkHttp 无需重写您程序中网络代码。...下面是在一个工作线程中下载文件, 响应可读回调Callback接口. 响应头准备好后, 就会调用Callback接口, 所以读取响应体可能会阻塞....没有响应原因可能是客户点链接问题服务器可用性问题或者这之间其他东西. OkHttp支持连接超时, 读取超时和写入超时.

4.5K42
您找到你想要的搜索结果了吗?
是的
没有找到

Carson带你学Android:这是一份详细 Retrofit使用教程(含实例讲解)

@Field & @FieldMap 作用:发送 Post请求 提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与...,@GET传入URL就可以省略 // GET、POST...HTTP等方法中没有设置Url,则必须使用 {@link Url}提供 } 汇总 步骤4:创建 Retrofit 实例...4.1 实例1 实现功能:中文翻译成英文 实现方案:采用Get方法对 金山词霸API 发送网络请求 采用 Gson 进行数据解析 步骤说明 步骤1:添加Retrofit库依赖 步骤2:创建 接收服务器返回数据...,为 null 可为空。

3.3K20

这是一份很详细 Retrofit 2.0 使用教程(含实例讲解)

使用介绍 使用 Retrofit 步骤共有7个: 步骤1:添加Retrofit库依赖 步骤2:创建 接收服务器返回数据 类 步骤3:创建 用于描述网络请求 接口 步骤4:创建 Retrofit...@Field & @FieldMap 作用:发送 Post请求 提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:...,@GET传入URL就可以省略 // GET、POST...HTTP等方法中没有设置Url,则必须使用 {@link Url}提供 } 汇总 ?...,为 null 可为空。

2.7K31

Carson带你学Android:这是一份详细 Retrofit使用教程(含实例讲解)

@Field & @FieldMap 作用:发送 Post请求 提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与...,@GET传入URL就可以省略 // GET、POST...HTTP等方法中没有设置Url,则必须使用 {@link Url}提供 } 汇总 步骤4:创建 Retrofit 实例...接收服务器返回数据 类 步骤3:创建 用于描述网络请求 接口 步骤4:创建 Retrofit 实例 步骤5:创建 网络请求接口实例 并 配置网络请求参数 步骤6:发送网络请求(采用最常用异步方式...,为 null 可为空。

2.2K10

Android技能树 — 网络小结(4)之socketwebsocketwebservice

okhttp源码解析(待写) Retrofit源码解析(待写) ---- 正文 1. Socket 我们在网络体系结构小结中提过,TCP/IP体系结构图为 ?...详细可以看看这篇: 【腾云阁】WebSocket 浅析 那我们既然是安卓开发,那我们怎么样使用WebSocket呢,我想现在很多人都应该网络请求这块使用Okhttp吧,虽然我们平时就是用Okhttp...WebService 首先如果有人做过相关 WebService 的话,就会觉得大体上其实和平常 http 请求差不多,都是发送一个请求,然后接受相应返回数据,可能最直观差别是平常我们用 http...发送请求接收请求/响应报文中请求体都是 JSON,而WebService用是 XML 形式。...3.2 SOAP WebService通过HTTP协议发送请求接收结果发送请求内容和结果内容都采用XML格式封装,并增加了一些特定HTTP消息头,以说明 HTTP消息内容格式,这些特定HTTP

78230

Android技能树 — 网络小结(4)之socketwebsocketwebservice

Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析 Android技能树 — 网络小结(7)之 Retrofit源码详细解析 正文 1....详细可以看看这篇: 【腾云阁】WebSocket 浅析 那我们既然是安卓开发,那我们怎么样使用WebSocket呢,我想现在很多人都应该网络请求这块使用Okhttp吧,虽然我们平时就是用Okhttp...WebService 首先如果有人做过相关 WebService 的话,就会觉得大体上其实和平常 http 请求差不多,都是发送一个请求,然后接受相应返回数据,可能最直观差别是平常我们用 http...发送请求接收请求/响应报文中请求体都是 JSON,而WebService用是 XML 形式。...它定义了一套标准数据类型,并给出了一种语言来扩展这套数据类型 3.2 SOAP WebService通过HTTP协议发送请求接收结果发送请求内容和结果内容都采用XML格式封装,并增加了一些特定

14210

由浅入深,聊聊OkHttp那些事

从应用层去看,熟练开发者会直接喊出拦截器,巴拉巴拉… 而作为初学者,可能更希望事广度与解惑,OkHttp 到底牛在了什么地方,或者说常说 拦截器到底是什么 ?...构建 Request ; 调用 OkHttpClient 执行 request 请求 ; 同步阻塞 或者 异步回调 方式接收结果; 更多使用方式,可以在搜索其他同学教程,这里仅仅只是作为后续解析原理必要基础支撑...--- Request 指客户端发送服务器 HTTP请求。 在 OkHttp 中,可以使用 Request 对象来构建请求,然后使用 OkHttpClient 对象来发送请求。...具体而言,Exchange 与 Request 相对应,新建一个请求就会创建一个 Exchange,该 Exchange 负责这个请求发送出去并读取到响应数据,而具体发送接收数据使用则是 ExchangeCodec...请求结束,并且保留该连接,便于后续 复用 。从而实现了在多个请求之间共享连接,避免多次建立和关闭TCP连接开销,提高请求效率。

1.2K40

「2020 新手必备 」极速入门 Retrofit + OkHttp 网络框架到实战,这一篇就够了!

首先你得先将要发送表单信息封装为 Post 请求 Body 对象,那么有的同学会问什么是 POST ,什么是 Body?...相应方法,前面实现东西组合发送,并在回调里接收 所以,这一步步,又是封装 FormBody 又是封装 Request ,搞了半天还要用 okHttpClient 发送,一套下来头晕眼花,那么如何解决呢...} }); 如上就实现了和纯 okHttp 代码一样功能 大家可能会觉得,这也没简单多少啊 ?...但细心观察发现,第一步 Retrofit 实例化过程,只要服务器不换代码几乎是不变,所以我们完全可以将它封装 而且大家有没有发现,如果单单使用 OkHttp 我们返回值是一个 Response...,他返回直接就是一个 Call 对象 发送请求 请求分两种 同步和异步 由于请求是耗时,假设我们发送同步请求 ,在请求就过返回之前,应用界面会进去阻塞状态 说白了就是会卡,甚至卡死。。。

1.1K30

由浅入深,聊聊OkHttp那些事(很长,很细节)

从应用层去看,熟练开发者会直接喊出拦截器,巴拉巴拉… 而作为初学者,可能更希望事广度与解惑,OkHttp 到底牛在了什么地方,或者说常说 拦截器到底是什么 ?...Request ; 调用 OkHttpClient 执行 request 请求 ; 同步阻塞 或者 异步回调 方式接收结果; 更多使用方式,可以在搜索其他同学教程,这里仅仅只是作为后续解析原理必要基础支撑...---- Request 指客户端发送服务器 HTTP请求。 在 OkHttp 中,可以使用 Request 对象来构建请求,然后使用 OkHttpClient 对象来发送请求。...具体而言,Exchange 与 Request 相对应,新建一个请求就会创建一个 Exchange,该 Exchange 负责这个请求发送出去并读取到响应数据,而具体发送接收数据使用则是 ExchangeCodec...请求结束,并且保留该连接,便于后续 复用 。从而实现了在多个请求之间共享连接,避免多次建立和关闭TCP连接开销,提高请求效率。

1.1K30

这是一份很详细 Retrofit 2.0 使用教程(含实例讲解) - 简书

@Field & @FieldMap 作用:发送 Post请求 提交请求表单字段 具体使用:与 @FormUrlEncoded 注解配合使用 public interface GetRequest_Interface...@Part & @PartMap 作用:发送 Post请求 提交请求表单字段 与@Field区别:功能相同,但携带参数类型更加丰富,包括数据流,所以适用于 有文件上传 场景 具体使用:与 @Multipart...,@GET传入URL就可以省略 // GET、POST...HTTP等方法中没有设置Url,则必须使用 {@link Url}提供 } 汇总 ?...配置网络请求参数 步骤6:发送网络请求(采用最常用异步方式) 封装了 数据转换、线程切换操作 步骤7:处理服务器返回数据 接下来,我们一步步进行Retrofit使用。...,为 null 可为空。

8.3K72

重学springboot系列番外篇之RestTemplate

如果你Web服务API基于标准RESTful风格设计,使用效果更加完美 根据Spring官方文档及源码中介绍,RestTemplate在将来版本中它可能会被弃用,因为他们已在Spring..., PostDTO.class); 下面的两种方式发送POST请求效果是一样 // 使用postForEntity发送POST请求 ResponseEntity responseEntity...进行远程接口服务调用时候,请求服务出现异常:超时、服务不存在等情况时候(响应状态非200、而是400、500HTTP状态码),就会抛出如下异常: 该异常我是模拟出来正确请求服务地址由...然后,在Http请求使用authorization作为一个HTTP请求头Header name,“Basic YWtaW46YWRtaW4=“作为Header值,发送给服务端。...(注意这里使用Basic+空格+加密串) 服务器在收到这样请求,到达BasicAuthenticationFilter过滤器,提取“authorization”Header值,并使用用于验证用户身份相同算法

4K22

OkHttp学习

OkHttp 也提供了对 HTTP 响应缓存机制,可以避免不必要网络请求网络出现问题OkHttp 会自动重试一个主机多个 IP 地址。...尝试连接需要通过 DNS 查询来得到服务器 IP 地址,也会用到代理服务器和 TLS 版本等信息。实际连接建立之后,OkHttp 发送 HTTP 请求并获取响应。...连接出现问题OkHttp 会自动选择另外路由进行尝试。这使得 OkHttp 可以自动处理可能出现网络问题。...在发送实际请求OkHttp 会加上 HTTP 头 Accept-Encoding。在接收服务器响应之后,OkHttp 会先做解压缩处理,再把结果返回。...OkHttp 使用调用(Call)来对发送 HTTP 请求和获取响应过程进行抽象。下面代码中给出了使用 OkHttp 发送 HTTP 请求基本示例。

97920

网络相关知识

创建Socket连接,可以指定使用传输层协议,Socket可以支持不同传输层协议(TCP或UDP),使用TCP协议进行连接,该Socket连接就是一个TCP连接。...HTTP缺点 通信使用明文,内容可能被窃听 不验证通信方身份,因此有可能遭遇伪装 http缓存 Pragma和Cache-control共存,Pragma优先级是比Cache-Control...信息封装到了请求请求行中。 post提交:提交信息不显示在地址栏中,对于敏感数据安全,可以提交大体积数据。...信息封装到了请求体中 Cookie Session和Cookie是一种记录客户端状态机制的话是由服务器发给客户端特殊信息,而这些信息以文本文件方式存放在客户端,然后客户端每次向服务器发送请求时候都会在...相关方法往Session中增加内容 4.客户端再次发送请求时候,会将这个Session id带上,服务器接受到请求之后就会依据Session id找到相应Session cookie和session

61420

Android常用库源码解析

DiskCache图片磁盘缓存,默认使用LruDiskCache算法,在缓存满删除最近最少使用图片 glide源码 一般看源码先看他使用方法,通过使用方法看对应代码。...而一个太大缓存空间,则有可能还是会引起 java.lang.OutOfMemory 异常。一般使用最大可用内存1/8作为缓存大小。...OkHttp 处理了很多网络问题:自动重连、会从很多常用连接问题中自动恢复。如果您服务器配置了多个IP地址,第一个IP连接失败时候,OkHttp会自动尝试下一个IP。...OkHttp还处理了代理服务器问题和SSL握手失败问题。 volley设计目标就是非常适合数据量小,通信量大客户端,而对于大数据量网络操作,比如说下载文件等,Volley表现就会非常糟糕。...以及发送者和接收者解耦。 RxJava要比EventBus应用更广泛,RxJava里面几乎可以做任何事情。做异步、网络数据处理,写出来代码比较优雅。

1.1K10

android学习笔记----开源AsyncHttpClient、OkHttp实现get、post提交数据

,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码 String path =...方式要提交路径,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码 String.../p/57c0b069452b MyEclipse代码见上一篇:记录get、post方式提交以及抓包和乱码问题 首先添加okhttp依赖: OkHttpget和post同步异步提交数据使用方法如下...方式要提交路径,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码...方式要提交路径,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码 String

33310

网络篇:协天子令诸侯

),在建立连接使用 |-- SYN=1,ACK=0,表示这是一个请求建立连接报文段; |-- SYN=1,ACK=1,表示对方同意建立连接。...---- 2.客户端接收请求 请求是由客户端发出,也就是chrome浏览器程序,关于Upgrade-Insecure-Requests详见 客户端将自己情况和请求东西用请求发送服务器,...,"modify_time":null,"origin":"天晴仞"}} ---- 4.POST:表单提交 我们都填过表单,如登陆界面,表单采用post方式提交 这时候请求体(Body)就有用了,可以一些而外数据传递给服务器...,手机可以作为客户端,职能上和浏览器并无区别 服务器并不会区分是浏览器还是手机,它只认请求头,然后做出反应 1.手机POST字符串到服务器 客户端使用socket连接服务端,通过socket输出流请求头写给服务器...okHttp,能意识到你请求是什么样子,会不会视野更开阔呢?

80920

OkHttp基础概念解释

网络出现问题OkHttp 会自动重试一个主机多个 IP 地址 … OkHttp官网地址:http://square.github.io/okhttp/ OkHttp GitHub地址:https...HTTP POST发送请求(比如文件)主体到服务器,因为整个请求主体同时存在内存中,应避免使用这个API上传大文档大于1MB。...网络超时配置 网络部分可能是由于连接问题服务器可用性问题或者其他原因造成网络请求超时。所以在使用时,可以根据实际情况进行网络超时设置。...OkHttp网络链接 在使用OkHttp进行请求时候,我们只需要提供请求url地址即可实现网络访问,其实OkHttp在规划连接服务器连接提供了三种类型:URL,Address和Route。...然后发送HTTP请求然后读取响应。 连接出现问题OkHttp会选择另外一个route进行尝试。

2.1K10

第12次文章:网络编程——httpserver服务器搭建

在网络中通信过程中,就是客户端和服务器端进行相互请求和应答方式交互。客户端在自己这边输入服务器地址,请求获取服务器资源信息。服务器接收请求信息时候,根据已有的资源,进行响应答复。...所以在服务器搭建过程中,主要就是请求信息进行封装,并且进行分析,然后根据分析结果,把应答信息发送出去即可。...所以,为了避免解码集和编码集不同而导致乱码问题,我们自定义一个指定相同解码集与编码集方法。使用此方法,避免我们在显示出现乱码问题。...(2)在管理用户名和参数问题,由于一个用户名可以对应有多个参数,比如密码,喜好等等,所以我们使用了MAP进行存储管理用户信息。...键值对,键只有一个,我们使用用户名作为键,然后多个参数,我们使用链表进行存储,这样就可以很好解决一个键对应多个值问题

51730

Android技能树 — 网络小结(3)之HTTPHTTPS

,然后提交信息给服务器使用post。...URL中没有给出abs_path,那么作为请求URI,必须以“/”形式给出,通常这个工作浏览器自动帮我们完成。...1.2.2 请求头部 - 请求首部字段 客户端发送请求报文给服务器使用,补充了请求附加内容,客户端信息,响应内容相关优先级等信息 ?...复制代码 同理和上面一样,也是封装成一个包发送给我们,所以我们看下相应报文结构: ? 我们可以看到 响应头部和请求头部类似,响应正文也和请求正文一样,差别在于状态行与请求区别。...那问题就转变成怎么样才能安全把对称加密密钥给对方,那么就用到了非对称加密方式,服务器拿着私钥,然后给发送方公钥,然后发送方拿着公钥来加密对称加密密钥,这样这个密钥只有拿着私钥服务器能解开拿到。

69330

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券