首页
学习
活动
专区
工具
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.9K30

OkHttp使用完全教程

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

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

    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.6K20

    这是一份很详细的 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 时可为空。

    3.3K31

    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

    82030

    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格式封装,并增加了一些特定的

    25710

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

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

    1.3K30

    由浅入深,聊聊OkHttp的那些事

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

    1.3K40

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

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

    1.6K30

    这是一份很详细的 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 时可为空。

    9.4K72

    重学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值,并使用用于验证用户身份的相同算法

    4.6K22

    OkHttp学习

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

    1K20

    网络相关知识

    创建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

    63020

    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依赖: OkHttp的get和post的同步异步提交数据的使用方法如下...方式要提交的路径,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码...方式要提交的路径,如果要提交中文,记得对name和pwd进行一个urlencode编码 // 如果不编码,服务器可能接收不到POST提交数据或者接收到中文乱码 String

    42610

    网络篇:协天子令诸侯

    ),在建立连接时使用 |-- 当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时,能意识到你的请求是什么样子的,会不会视野更开阔呢?

    83620

    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

    当OkHttp遇到Netty

    前言 之前写了一篇当Android遇到Netty - 掘金,里面有用OkHttp与Netty进行对比,但没有详细说明区别,本文便专门讲讲这两个框架之间的区别 OkHttp概述 OkHttp是什么?...OkHttp是一个专为Android和Java应用设计的HTTP客户端库。它简化了HTTP通信,提供了一个高效和直接的方式来发送和接收HTTP请求。...可扩展性:提供了丰富的定制化选项,满足不同的网络需求。 使用场景 大型网络应用:如高性能的服务器和大型分布式系统。...它提供了一个直观的API,使得发送和接收HTTP请求变得轻松。 易于集成和使用:OkHttp特别适合那些需要快速实现标准HTTP通信功能的应用,特别是在移动设备和轻量级Java应用中。...性能和扩展性:OkHttp在标准HTTP请求处理方面表现优异,但在高并发场景下可能受限。Netty则在这些方面展现了更强的能力和更广泛的适用性。

    66810

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

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

    73230

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券