
鸿蒙开源第三方组件——OkHttp请求转化组件Ok2curl 精华
前言
基于安卓平台既有的请求转化工具组件Ok2Curl(原链接), 实现鸿蒙的功能化迁移。
代码已经开源到(开源链接),欢迎相关各位开发者或使用者参与讨论并给出提出宝贵意见。
概述
ok2curl主要用于,将OkHttp格式的请求的字符串,整合并转换为curl格式的字符串。
转换后的curl格式字符串,更具备泛用性,可直接导入Postman等第三方软件来实现快速请求。
组件功能展示
1.Sample界面
2.Get请求结果(点击第一个按钮)
3.Post请求结果(点击第二个按钮)
4.更改过header的Get请求结果(点击第三个按钮)
组件在项目中的引入(maven)
Sample解析
1.http请求的不同类别
按照请求方式将http请求,分为GET请求、POST请求、更改过header的GET请求,
以上述三种类别作为主要示例,设计3种不同的请求方式,各自用一个按钮来绑定并展示。
而在实现上,通过对请求类型的区分,只使用 getRequest()一个方法,封装更加优雅
2.Sample的核心实现
1)OkHttp请求字符串的组装
因为组件的核心功能就是将OkHttp请求字符串转化成另一个格式,作为数据的源头,各种OkHttp请求(带有各种附加属性)的组织和封装就是首要任务。
在数据组织上,请求的数据需要延续 OkHttp的请求方式,
使用第三方开放组件okhttp3.Request的Builder()接口来组织我们的原始请求:
以最简单的Get请求为例
真正与之对接的,是组件自封装的CurlBuilder类的各种构造方法,
这些构造方法,okhttp3.Request类型的入参是其默认首个参数,
它们实现了对各种请求参数的实际组织和封装。
2)鸿蒙UI上的组件映射
鸿蒙为了方便广大开发者,在UI组件的布局上,使用xml格式的映射表。
上面的"Layout_ability_main"就指向了工程中路径为
/resource/base/layout/ability_main.xml 配置文件。
第一段代理里的"ResourceTable.Id_get_request",
其中的’Id_get_request’即会通过映射查找,
定位到第二段代码中的ohos:id为 get_request 的画面元素
项目贡献人
刘方蕾 夏金 柴柏新
结语
项目地址: gitee
欢迎大家批评指导~
