在使用第三方插件 Guzzle 请求微信素材管理接口: 接口说明 http请求方式: POST https://api.weixin.qq.com/cgi-bin/material/batchget_material...access_token=ACCESS_TOKEN #参数 { "type":TYPE, "offset":OFFSET, "count":COUNT } 错误请求代码 $client...json 格式 尝试修改代码如下: $client = new Client(); $response = $client->post("https://api.weixin.qq.com/cgi-bin...access_token=$token", [ 'form_params' =>json_encode([ "type"=>"news",...access_token=$token", [ 'json' => [ "type"=>"news", "offset"=>0
当然你也可以自己借助 json-server 或 最新开源的Parse 搭建一个REST API,不过都需要安装Node.js,有兴趣的可以去试试。 接口列表: ?...第一类:HTTP请求方法 ?...@POST("blog") Call> createBlog(@Body Blog blog); 被@Body注解的的Blog将会被Gson转换成RequestBody发送到服务器...从上面不能难看出以下规则: 如果你在注解中提供的url是完整的url,则url将作为请求的url。...,所以我还是决定发出来帮助一下那此对Retrofit2无从下手同鞋。
的过程中受到了一些阻力,现 Retrofit2 学会使用了,特此写此文验证所学知识。...先看看如何使用,如何进行一个简单的Get/Post请求 Retrofit2 入门 首先在build.gradle中添加如下代码,添加Retrofit2库 compile 'com.squareup.retrofit2...start=1&count=5 Post带Body请求 使用@Body来声明即可,如下: @POST("/aaa") Call send( @Body UserInfo body);...//使用 Call call=url.send(); 这里的UserInfo就是要发送的实体,Retrofit2 会自动转成Gson 学到这里,一般的网络请求都可以了进行,可以应付一阵子了...还有一些要求较高的请求,请看下节。 Retrofit2 大成 如果看到这里,相信对Retrofit2的基本请求会用了,那么这节就说一说其他的网络请求。
Okhttp本想做面向整个Java世界的网络框架,但从OKhttp3开始,似乎开始专注于Android领域,较新的版本都是用Kotlin编写和构建。...1.1.3 Retrofit2 Retrofit2同样出自Square公司,Retrofit2是对Okhttp的封装。...Okhttp3发出请求,访问百度首页。...在真实场景中,我们的抓包返回结果往往是JSON数据,因此替换访问URL为"http://www.kuaidi100.com/query?...(网络请求可分为同步和异步方式,Android中主要使用异步方式,因此我们这里直接不讲同步请求,除此之外,GET和POST是两种常用的请求,这里先演示GET方式)。
,返回的数据格式有 Json 对象和 Json 数组,需要的参数格式可以由使用者来自由定义 本篇文章不会对 Retrofit2 的用法进行过多介绍,重点在于介绍服务端接口的搭建以及 Retrofit2.../getString/{id}") Call getWithPath(@Path("id") int id); //将请求值作为链接一部分的 Get 请求,并使用...如果在请求方法中带上注解 @Query 以及对应的请求参数,则请求参数会作为访问链接的后缀 //Get请求时会带上请求参数,参数将作为链接的后缀,生成的链接是:/Get/getString?...getWithQueryAndHeaders() 方法则是用于携带请求参数以及固定请求头的 Get 请求 //Get请求时带上参数和请求头信息,参数将作为链接的后缀,生成的链接是:/Get/getString.../public/upload/Anoj-VQ-cd_vkw9_O5ErSSG6.jpg'; //设置文件下载时显示的文件名,如不设置则使用原始的文件名 var fileName = 'leavesC.jpg
演示一个使用OkHttp的项目Demo 为了更好的演示框架的实现过程,这里我先创建了一个简单的Demo项目 这个Demo项目中主要包含3个部分 Json数据对应JavaEntity类 项目中包装网络请求回调的...一个Class对象表示响应的Json数据对应的Model,以便在内部使用Gson来解析,以及网络请求的异步回调 NetCallback 我们不直接使用OkHttp提供的Callback 而是在内部简单的做了封装转换成项目自己的...,作为POST请求的JSON数据 首先我们添加一个POST注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public...3.4 实现ConverterFactory 解耦Json转换 在上面的例子中,我们直接在框架Retrofit中使用了Gson库做Json转换,但作为一个框架来说 我们不希望直接强耦合一个第三方Json...Json内容后直接转换成JavaBean对象作为方法的返回值,但是这个设想存在这样几个问题 要实现直接返回Http结果则方法调用是同步调用,如果在主线程做IO请求肯定是不合理的 如果内部IO异常了,或者
今年的 Google I/O 大会上,Google 是这样评价 Kotlin:在过去一年里,有35%的专业 Android 开发者在使用 Kotlin,其中95%的开发者都对 Kotlin 非常满意。...而值得一提的是 Twobbble 完全使用 Kotlin 开发,并使用了 RxJava,Retrofit2,EventBus,Fresco,等多个常用第三方项目,会充分的证明了 Kotlin 在实际生产中的可靠与...项目简介:一个使用 Kotlin 语言开发的天气网站,其他使用的技术包括 SpringBoot、Webmagic 等。...的一个面向下一代的极其轻量级的微服务框架,您可以处理 Url 的解析,数据的封装,Json 的输出等等,从根本上减少开发时间、提升开发体验。...UI 布局,网络请求,数据解析,等各种 java 语言使用 kotlin 语言的写法,对 kotlin 语言开发 android 进行了一个初步总结....
《学习|Android检测并自动下载安装包(Kotlin)》以前这篇用的AsyncTask的方式下载过,现在AsyncTask慢慢废弃了,所以本篇也是初学Flow后的第一次体验使用。...# 整体介绍 1 网络通讯用的retrofit2 2 类的JSON用的GSON 3 下载时的状态显示更新用的kotlin Flow,这也是我第一次用Flow排坑也用了些时间,不过使用起来确实感觉简单好多...= callupgrade.execute().body() body?....数据 val json = rsp.body()!!....中使用协程,所以两个方法的前面要加上suspend 。
简述 Retrofit2是square公司出品的一个网络请求库,网上有很多相关的介绍。...get请求 post请求 文件上传 文件下载 开启日志拦截 与RxJava结合使用 什么是Retrofit2 官网是这么介绍的: Retrofit adapts a Java...Get请求 一起来看看效果: 分析返回的 json数据,包含集合,那么我们可以进一步对接口返回值进行数据的封装。...根据返回的json集合,那么我们肯定有个实体类了。...注意:以@Body上传参数,会默认加上Content-Type: application/json; charset=UTF-8的请求头,即以JSON格式请求,再以JSON格式响应。
2、@Multipart:作用于方法 使用该注解,表示请求体是多部分的,每个部分作为一个参数,且用Part注解声明。...:作用于方法参数 使用@Body 注解定义的参数不能为null 当你发送一个post或put请求,但是又不想作为请求参数或表单的方式发送请求时,使用该注解定义的参数可以直接传入一个实体类,retrofit...(二)、application/json application/json 这个Content-Type作为响应头大家肯定不陌生。...(三)、text/xml 它是一种使用HTTP作为传输协议,XML作为编码方式的远程调用规范。...(一)、如何使用Retrofit和okHttp封装multipart/form-data 1、在retrofit2中: 使用** @retrofit2.http.Multipart : 标记一个请求是
但是自从升级了Retrofit2之后,就可以不用手动导入了,因为已经自己引入了。...com.google.code.gson:gson:2.7' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' } 可以看到,我上面引入了Retrofit2...这两个,是在从请求Json数据到Bean需要使用到的。...我们经常会因为后台传来的数据的不稳定性,我们需要自己手动去解析字符串,那么就引入了这个 compile 'com.squareup.retrofit2:converter-scalars:2.0.0' 使用方式好简单....build(); .addInterceptor()可以调用多次 自定义Interceptor实现过滤改变请求返回的数据(可使用与保证APP的稳定性) import com.alibaba.fastjson.JSON
在Retrofit1中使用的是RestAdapter,而Retrofit2中使用的Retrofit实例,之前的setEndpoint变为了baseUrl。...Retrofit2通过OKHttp的拦截器拦截http请求进行监控,重写或重试等,包括日志打印等。...参考:官方CHANGELOG.md 更新到Retrofit2的一些技巧 1.9使用配置 //gson converter final static Gson gson = new GsonBuilder...POST请求体,将实例对象根据转换方式转换为对应的json字符串参数, 这个转化方式是GsonConverterFactory定义的。...无网读缓存,有网根据过期时间重新请求 一般情况下我们需要达到的缓存效果是这样的: 没有网或者网络较差的时候要使用缓存(统一设置) 有网络的时候,要保证不同的需求,实时性数据不用缓存,一般请求需要缓存(单个请求的
绪论 前面我们讨论了使用Retrofit时怎样去设置OKHttp,包括持久化管理Cookie、设置网络超时、设置打印拦截器、设置缓存、Header等等,详细可查看 Retrofit–使用Retrofit...自定义响应体CallModel 很简单的实现了一个网络请求,当然我在刚开始的时候一直也都是这么使用的,因为Retrofit自己封装了JSON解析的过程,我们只需在建造Retrofit的时候加入addConverterFactory...json转化异常。...最后分享几个不错的Retrofit博客吧: 你真的会用Retrofit2吗?Retrofit2完全教程 深入浅出 Retrofit,这么牛逼的框架你们还不来看看?...Android Retrofit 2.0 使用-补充篇
前言 在上一篇Android网络编程(九)Retrofit2前篇[基本使用]中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。...首先用到@FormUrlEncoded注解来标明这是一个表单请求,然后在getIpMsg方法中使用@Field注解来标示所对应的String类型数据的键,从而组成一组键值对进行传递。...接下来请求网络的代码如下所示。 ? 传输数据类型Json字符串:@Body 我们也可以用POST方式将Json字符串作为请求体发送到服务器,请求网络接口代码为: ?...用@Body这个注解标识参数对象即可,retrofit会将Ip对象转换为字符串。 ? 请求网络的代码基本上都是一致的: ? 运行程序用Fiddler抓包,如下图所示。 ?...可以看到请求数据是一个Json字符串,因为淘宝ip库并不支持此类型所以不会返回我们需要的地理信息数据。 单个文件上传:@Part ?
Kotlin, 需要替换annotationProcessor 为kapt. ---- TemplateAndServer 介绍完AndServer,下面就开始介绍我编写的TemplateAndServer...---- 功能介绍 本模版项目主要使用AndServer提供的服务搭建,内置常用的基础模块,功能如下. 统一的请求日志记录。 全局异常捕获处理,返回统一API结果。 增加全局权限验证拦截器。...返回Json格式 { "code":0, //响应码,0为成功,否则失败 "msg":"", //请求失败的原因说明 "data":{} //返回的数据对象 } 集成说明...AndServer 一个HTTP和反向代理服务器 XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装。...日志查看 在logcat上搜索关键词"AndServer"即可查看请求日志。 - END -
很多著名的框架例如Picasso、Retrofit也使用OkHttp作为底层框架。...提示: 更多关于OkHttp 的使用可参考: http://square.github.io/okhttp/ 创建 Kotlin Gradle 项目 我们首先使用 IDEA 创建 Kotlin Gradle...url method 请求方法,例如 Get、Post 等,不区分大小写 body 请求头,为了简单起见我们直接使用 OkHttp的RequestBody类型 timeout 超时时间ms,我们设置了默认值是...使用 RxKotlin 完成请求响应的异步处理 我们首先新建一个数据发射源:一个可观察对象(Observable),作为发射数据用 val sender = Observable.create<...= JSONObject() json.put("name", "Kotlin DSL Http") json.put("owner", "Kotlin")
项目代码整洁规范,结构清晰,使用Android最新的开发思想和技术,同时集成React-Native跨平台,主要是为了实验热更功能,涉及到的技术有如下一些: 使用kotlin语言开发,项目使用模块化开发...,降低了耦合性; 网络使用 retrofit2 + okhttp3方式,进行了高度的封装; leakcanary 内存泄漏检测 基于MVI架构airbnb的Mavericks 本地mock alibaba...Intent的变化实现界面刷新(不是Activity的Intent、后面介绍) Intent:此Intent不是Activity的Intent,用户的任何操作都被包装成Intent后发送给Model进行数据请求...用到的第三方库 库功能retrofit2网络okHttp3网络mavericksMVI框架BaseRecyclerViewAdapterHelper万能适配器PhotoView图片预览ARouter组件化路由
前言 Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本系列的前作...请求接口(GET): /service/getIpInfo.PHP?ip=[ip地址字串] 2. 响应信息: (json格式的)国家 、省(自治区或直辖市)、市(县)、运营商 3....2.用Retrofit异步访问网络 编写实体类 我们可以用JSON字符串转换成Java实体类(POJO)这个网站将Json转为实体类,经过修改的实体类如下: IpModel.Java: ?...如果想同步请求网络请使用 call.execute(),如果想中断网络请求则可以使用 call.cancel()。 完整的代码如下: ?...@Body @Body与@POST注解一起使用,提供查询主体内容,其中ApiInfo是一个bean类。 ? @Headers ?
个人博客地址 http://dandanlove.com/ Android网络之Retrofit2.0使用和解析 Retrofit2在项目中的使用 Android studio项目添加依赖 javacompile...Retrofit2源码解析 Retrofit请求框架实现了高度的解耦,通过解析注解的得到的代理类生成http请求,然后将请求交给OkHttp。...,所以我们在发出请求和请求结果回来的时候切换线程 static class MainThreadExecutor implements Executor { private...总结 现在随着Rxjava响应式编程越来越多的程序猿使用,自己也开始接触和使用。...AsyncHttpClient作为app的网络请求框架,其源码也没自己的研究过。
本文链接 OkHttp + Retrofit使用示例。从引入依赖,编写接口,到发起网络请求。...https://github.com/square/okhttp 简单使用 引入依赖 引入依赖,使用Retrofit2。...例如下面这个post请求。...token, @Body RequestBody body); } 调用的时候要创建RequestBody;先调查好后台接受的body类型。...bodyJson = gson.toJson(map); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json
领取专属 10元无门槛券
手把手带您无忧上云