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

Retrofit2 学习总结

当我在刚开始学习 Retrofit2 的时候并不知道Retrofit2是什么东西,后来逐渐了解 “它可能是一个方便我们网络请求的库 ,可以帮我们让请求网络变得更灵活、易于维护”。...在学习Android期间就是哪里有请求就放哪里,后来有人告诉要集中存放。于是后来就建立一个AppURL.java所有地址都存放这里。...需要注意的是converter-gson和retrofit版本号应为一致,在这里都用2.1.0 创建Bean 创建一个JavaBean,用于解析服务器返回数据。...表单(FormUrlEncoded) 我们可以使用@FormUrlEncoded注解来发送表单数据。使用 @Field注解和参数来指定每个表单项的Key,value为参数的。...因为在build()方法中会判断是否为,如果我们没有添加okhttpclient 则就是空了,那么retrofit会自动给我们添加了一个new OkHttpClient(); execute是同步执行

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

深入浅出 Retrofit,这么牛逼的框架你们还不来看看?

于是,打群架版本的 QueryMap 横空出世了,使用方法很简单,就不多说了。...在实验上传了一个只包含一行文字的文件: Visit me: http://www.println.net 那么我们去服务端看下我们的请求是什么样的: HEADERS ?...1.5 Converter,让你的入参和返回类型丰富起来 1.5.1 RequestBodyConverter 1.4.3 当中,为大家展示了如何用 Retrofit 上传文件,这个上传的过程其实。。...问题来了,如果请求得到的 Json 字符串与返回类型不对应,比如: 接口返回的 Json 字符串: {"err":0, "content":"This is a content....3.1 继续简化文件上传的接口 在 1.5.1 当中我们曾试图简化文件上传接口的使用,尽管我们已经给出了相应的 File -> RequestBody 的 Converter,不过基于 Retrofit

98760

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

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢...@Multipart 作用:表示发送form-encoded的数据(适用于 有文件 上传的场景) 每个键值对需要用@Part来注解键名,随后的对象需要提供。...@Part & @PartMap 作用:发送 Post请求 提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:与...xml,则去除该,若 doctype 是 json,该即可 // xmlVersion:如果 doctype 是 json,则去除该,若 doctype 是 xml,该即可 //...type:语言自动检测时为 null,为 null 可为

3.4K20

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

今天,将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢。...@Multipart 作用:表示发送form-encoded的数据(适用于 有文件 上传的场景) 每个键值对需要用@Part来注解键名,随后的对象需要提供。...@Part & @PartMap 作用:发送 Post请求 提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:...xml,则去除该,若 doctype 是 json,该即可 // xmlVersion:如果 doctype 是 json,则去除该,若 doctype 是 xml,该即可 //...type:语言自动检测时为 null,为 null 可为

2.8K31

深入浅出 Retrofit,这么牛逼的框架你们还不来看看?

于是,打群架版本的 QueryMap 横空出世了,使用方法很简单,就不多说了。...在实验上传了一个只包含一行文字的文件: Visit me: http://www.println.net 那么我们去服务端看下我们的请求是什么样的: HEADERS ?...1.5 Converter,让你的入参和返回类型丰富起来 1.5.1 RequestBodyConverter 1.4.3 当中,为大家展示了如何用 Retrofit 上传文件,这个上传的过程其实。。...问题来了,如果请求得到的 Json 字符串与返回类型不对应,比如: 接口返回的 Json 字符串: {"err":0, "content":"This is a content....3.1 继续简化文件上传的接口 在 1.5.1 当中我们曾试图简化文件上传接口的使用,尽管我们已经给出了相应的 File -> RequestBody 的 Converter,不过基于 Retrofit

1.7K50

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

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢...@Multipart 作用:表示发送form-encoded的数据(适用于 有文件 上传的场景) 每个键值对需要用@Part来注解键名,随后的对象需要提供。...@Part & @PartMap 作用:发送 Post请求 提交请求的表单字段 与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景 具体使用:与...xml,则去除该,若 doctype 是 json,该即可 // xmlVersion:如果 doctype 是 json,则去除该,若 doctype 是 xml,该即可 //...type:语言自动检测时为 null,为 null 可为

2.2K10

Android网络编程(十一)源码解析Retrofit

前言 最近博客的产出确实很少,因为博主正在写一本Android进阶书籍,两头很难兼顾,但是每个月也得至少发一篇博客。...上一篇我们介绍了Retrofit使用方法,这一篇我们照例来学习Retrofit的源码。 1.Retrofit的创建过程 当我使用Retrofit请求网络,首先要写请求接口: ?...注释1处调用了createCallAdapter方法,它最终会得到我们在构建Retrofit调用build方法adapterFactories添加的对象的get方法,Retrofit的build方法部分代码...当我得到Call对象后会调用它的enqueue方法,其实调用的是ExecutorCallbackCall的enqueue方法,而从注释1处可以看出ExecutorCallbackCall的enqueue...根据返回的不同的状态码code来做不同的操作,如果顺利则会调用注释2处的代码,接下来看toResponse方法里做了什么: ?

80870

Android MVP+RxJava+Retrofit (2) RxJava+Retrofit

请求体是是是一个表单数据 表示发送form-encoded的数据,每个键值对需要用@Filed来注解键名,随后的对象需要提供 @Multipart 请求体是一个支持文件上传的表单数据 表示发送...& @PartMap 发送 Post请求 提交请求的表单字段,与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景,与 @Multipart 注解配合使用...实例2 上传文件 一定要使用 Multipart 关于文件 采用的是 @Part MultipartBody.Part public interface IInfo {...实例 上传文件+字段的时候 必须变为RequestBody 参数 方可才能上传 Retrofit retrofit2 = new Retrofit.Builder() ....大体使用情况,接下来就简单的介绍RxJava的使用,Retrofit 与RxJava 一百度就很多原理之类的大体说的都差不多,大同小异.主要以实战为主,如何使用 稍带点基础… 初始化Retrofit的时候的必要配置

72330

文件上传漏洞另类绕过技巧及挖掘案例全汇总

2)后缀名白名单 除了结合各种服务器解析特性,较常用的是Null Byte Injection字节注入,插入字节的原因是某些应用程序服务器脚本语言使用c/c++库来检查文件名和内容。...一般使用intruder同时发两个包:上传文件+访问webshell地址: 8)其他技巧 A.多个分号绕过: 文件解析,可能解析不到文件名,导致绕过。...、构造更多的点、符号等都是可以尝试的技巧,有时会碰到上传文件无法抓到包的情况,那可能是上传转化为了流文件,建议放弃。...Tips:尝试上传超大文件,可能造成报错信息利用/Dos等攻击 2)Pixel floodattack 像素洪水攻击,需要准备一个5kb,260x260像素的图像。...图像一旦上传,服务器通过将“整个图像”加载到内存中,它会尝试将4128062500像素分配到内存中,从而充斥内存并导致DoS。

6.7K20

Android开发:使用Kotlin+协程+自定义注解+Retrofit的网络框架

对项目的基本介绍 1.整个框架主要是给MVVM框架使用的,自己写完interface接口后,通过自定义的注解就能自动生成接口方法 2.用Kotlin的Flow去代替Rxjava,因为发现RxJava功能很强大...所以先进去看看apiService好了 可以看到apiService是BaseRepository的变量 而我们生成的Repository都是继承BaseRepository的 [1240] 当我们调ConfigRepository...类中的方法时候,就会将ConfigRepository传入findNeedType [1240] 而findNeedType方法就会将ConfigRepository对应的ConfigService得到并且返回出去...比如在刚进入主页使用页面初始化CacheFirst 页面初始化后,再次下拉加载数据,使用NetCache 在当前主页上拉加载,使用NetOnly 此时一个接口会分别使用三个不同的缓存策略 所以用isNeedAddParameter...所以必须在前面的注解收集完毕后,当我再次收集使用过NetStrategy注解的方法,拿到方法名,再与repositoryMap中储存的类的方法名做比较,如果一致,则表示该方法使用了NetStrategy

1.2K50

Android网络编程(十)Retrofit2后篇

前言 在上一篇Android网络编程(九)Retrofit2前篇[基本使用]中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。...这一篇我们来详细的了解Retrofit的注解。 1.GET请求访问网络 动态配置URL地址:@Path Retrofit提供了很多的请求参数注解,使得请求网路更加便捷。在这里我们仍旧访问淘宝ip库。...在注释1处,传入”service”来替换 @GET注解中的{path}的。...动态指定查询条件:@Query与@QueryMap 在上一篇中我们用@Query来动态的替换ip地址为了能更方便的得到该ip所对应的地理信息: ?...多个文件上传:@PartMap ? 和单文件上传是类似的,只是使用Map封装了上传的文件,并用@PartMap注解来标示起来。其他的都一样,这里就不赘述了。

1K60

深入浅出Retrofit2.x(二)

上一篇文章深入浅出Retrofit2.x(一)中,我们讲解了 Retrofit 的最基本用法,以及 GET 请求示例,非常简单,相信大家都已经会使用了,本篇文章将继续介绍 Retrofit 的一些其他的一些常用用法...@Path,path对应的路径不能包含”/”,否则会将其转化为%2F,在遇到想动态的拼接多节url,还是使用@Url吧 @Headers({"Content-Type:application...会使用url的全域访问,当为非全域,会拼接到BASE_URL的后面) @Headers({"Content-Type: application/json", "Accept: application...@Query,我们可以使用 @QueryMap 使用方法很简单,就不多说了。...@FiledMap 和 @Filed 作用一致,用于不确定表单参数 @Part 用于表单字段,@Part 和 @PartMap 与 @Multipart 注解结合使用,适合文件上传的情况 @PartMap

1.3K10

Android Retrofit使用详解

关于Retrofit的学习,算是比较晚的了,而现在Retrofit已经是Android非常流行的网络请求框架了。...之前,没有学过Retrofit,但最近公司的新项目使用Retrofit、Rxjava和OkHttp来进行封装,使用起来非常简便,增加代码的美观程度,也降低了耦合度,这是一个非常棒的框架,特别是这三者一起使用...Retrofit使用 关于Retrofit使用,其实还是很简单的,而且逻辑思路也比较清晰,所以开发者是很容易上手的。...compile ‘com.squareup.retrofit2:converter-gson:2.3.0’ 上面除了添加Retrofit依赖,还添加了gson依赖,来解析请求得到的json数据。...文件上传 使用@Part注解来表示单个文件上传,而@PartMap注解跟单文件上传是类似的,是不过是使用了Map集合来封装了上传的文件,即多文件上传

2K20

安卓上如何优雅地使用网络请求丨深入浅出Retrofit2.x(二)

上一篇文章深入浅出Retrofit2.x(一)中,我们讲解了 Retrofit 的最基本用法,以及 GET 请求示例,非常简单,相信大家都已经会使用了,本篇文章将继续介绍 Retrofit 的一些其他的一些常用用法...@Path,path对应的路径不能包含”/”,否则会将其转化为%2F,在遇到想动态的拼接多节url,还是使用@Url吧 @Headers({"Content-Type:application...会使用url的全域访问,当为非全域,会拼接到BASE_URL的后面) @Headers({"Content-Type: application/json", "Accept: application...@Query,我们可以使用 @QueryMap 使用方法很简单,就不多说了。...,默认接受的类型是 Map,可用于实现多文件上传@Path用于 url 中的占位符@Query用于 GET 请求的 url 中指定 key=value 参数@QueryMap和 @Query 使用类似@

96110
领券