鸿蒙开发:切换至基于rcp的网络请求

程序员一鸣
• 阅读 1

前言

本文基于Api12

之前开源了一个基于http封装的网络请求,具体的可以查看之前的文章《HarmonyOS开发:基于http开源一个网络请求库》,奈何随着Api的升级,目前又推荐了另一个Api形式进行网络通信,也就是基于Remote Communication Kit(远场通信服务) , 只能感叹一声,Api变化的真实迅速啊,有点跟不上官方的节奏了。

鸿蒙开发:切换至基于rcp的网络请求

为了便于以后得Api的维护,怎么办?只能再根据 Remote Communication Kit(远场通信服务) 再重新搞一个,毕竟以后的演进都是基于此了。

本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。

本文的内容如下:

1、Remote Communication Kit(远场通信服务)简单介绍

2、http库快速使用

3、http库和net库的差异点

4、http库相关总结

一、Remote Communication Kit(远场通信服务)简单介绍

Remote Communication Kit(远场通信服务)是华为提供的HTTP发起数据请求的NAPI封装,应用通过Remote Communication Kit可便捷快速地向服务器发起数据请求。

鸿蒙开发:切换至基于rcp的网络请求

使用Remote Communication Kit的主要业务流程如下:

1、应用客户端创建会话。

2、应用客户端发起请求。

3、应用客户端接收请求结果,处理相应业务。

二、http库快速使用

中心仓库地址:https://ohpm.openharmony.cn/#/cn/detail/@abner%2Fhttp

目前封装好的http库已经提交至了中心仓库,大家可以在中心仓库进行查看使用,除了个别地方有差异之外,各个功能完全和net库一样,方便原来使用net的的同学进行无缝衔接。

远程依赖方式使用【推荐】

方式一:在Terminal窗口中,执行如下命令安装三方包,DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。

建议:在使用的模块路径下进行执行命令。

ohpm install @abner/http

方式二:在工程的oh-package.json5中设置三方包依赖,配置示例如下:

"dependencies": { "@abner/http": "^1.0.5"}

三、http库和net库的差异点

差异点一,拦截器

拦截器不同,net库是基于http进行封装的,http是没有拦截器一说的,为了实现net库的请求拦截,做了一层同步回调处理,而http库是基于Remote Communication Kit(远场通信服务)进行封装的,自带的就有拦截器,可以在全局或者单独请求时进行配置。

全局配置

全局配置可以应对每一个网络请求。

Net.getInstance().init({
      interceptors: [new GlobalInterceptor()]
    })

也可以通过

Net.getInstance().setInterceptors([new GlobalInterceptor()])

单个配置

单个配置仅仅适用于当前的网络请求。

Net.post("/cert/xx")
          .setInterceptor(new TestInterceptor())//单独增加拦截器
            // .setRequestInterceptors() //可以通过这个方法,设置只加载自身拦截器,过滤掉全局
          .setParams({
            "index_type": -1,
            "size": 1,
          })
          .requestString((result) => {
            console.log("===success:" + result)
          }, (err) => {
            console.log("===error:" + err.getMessage())
          })

差异点二,个别属性参数不一样

毕竟Api发生了变化,相关的方法也会有着不一样,比如设置连接超时,读取超时等等,需要采用新的方法进行适配。

四、http库相关总结

和net库有着异曲同工之处,所以,之前如果你使用的是net库,可以无缝衔接,当然了,官方也没有说删除Api http,所以针对Api http也是可以使用的,既然官方已经标注了,大家还是尽量使用Remote Communication Kit(远场通信服务)

点赞
收藏
评论区
推荐文章
艾木酱 艾木酱
3年前
Python使用SQLAlchemy访问MemFireDB
之前看到一个帖子说的挺好,项目开发尽量不要自己造轮子,能用开源项目或者SAAS服务尽量用,很多事情都是跟时间赛跑。如果大家有个人项目或者公司内部测试项目,,推荐大家尝试一下,挺方便的,不用自己搭建数据库,在家或者公司随时可以访问。SQLAlchemy是Python中最常用的访问数据库的ORM库,MemFireDB兼容Postgres接口,所以可以直接把Mem
Stella981 Stella981
3年前
Scapy 从入门到放弃
0x00前言最近闲的没事,抽空了解下地表最强的嗅探和收发包的工具:scapy。scapy是一个python模块,使用简单,并且能灵活地构造各种数据包,是进行网络安全审计的好帮手。0x01安装因为2020年python官方便不再支持python2,所以使用python3安装。!(https://oscimg.oschina.net/os
陈杨 陈杨
1天前
鸿蒙5开发宝藏案例分享---自由流转的拖拽多屏联动
🌟【干货预警】鸿蒙开发宝藏案例大揭秘!手把手教你玩转常用功能🌟大家好呀~我是你们的老朋友你的名字,今天在扒拉鸿蒙文档的时候,突然发现官方竟然藏了一堆超实用的开发案例!😱之前总觉得鸿蒙生态资料少,结果这些案例简直就是“新手村外挂”啊!立马熬夜整理了
陈杨 陈杨
15小时前
鸿蒙5开发宝藏案例分享---性能分析简介
以下是根据你提供的鸿蒙开发资源整理的分享文章,结合实战案例和代码解析,风格轻松但内容干货满满👇「嘿,鸿蒙开发者!你绝对想不到官方藏了多少宝藏案例!」最近在HarmonyOS文档里扒出个「隐藏副本」——官方其实默默提供了100场景化开发案例,覆盖性能优化
陈杨 陈杨
15小时前
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
当然可以!下面是一篇详细、易懂的文章,结合鸿蒙官方案例和实际代码,帮你深入理解Web加载完成时延的优化技巧👇🚀鸿蒙开发宝藏:Web加载完成时延优化实战(附代码解析)大家好呀!今天在翻鸿蒙开发者文档时,发现了一个隐藏的​​性能优化宝藏区​​——官方竟然悄
陈杨 陈杨
15小时前
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
当然可以!下面是一篇详细、易懂的文章,结合鸿蒙官方案例和实际代码,帮你深入理解Web加载完成时延的优化技巧👇🚀鸿蒙开发宝藏:Web加载完成时延优化实战(附代码解析)大家好呀!今天在翻鸿蒙开发者文档时,发现了一个隐藏的​​性能优化宝藏区​​——官方竟然悄
陈杨 陈杨
15小时前
鸿蒙5开发宝藏案例分享---瀑布流优化实战分享
以下是根据鸿蒙官方瀑布流优化案例整理的非官方技术分享,结合开发实战经验重新解读,加入更多场景分析和代码示例:🌟鸿蒙瀑布流性能优化实战:告别卡顿的宝藏指南!大家好!最近在鸿蒙文档里挖到一个性能优化宝藏库,原来官方早就准备好了各种场景的最佳实践!今天重点分享
陈杨 陈杨
15小时前
鸿蒙5开发宝藏案例分享---优化应用包体积大小问题
🎉鸿蒙包体积优化实战:藏在官方文档里的宝藏技巧!大家好呀~我是你们的鸿蒙开发小伙伴!今天在翻官方文档时,发现了一个超实用的「包体积优化」案例宝藏库!这些技巧明明能大幅提升应用体验,却很少被讨论。赶紧来跟大家分享一波,附代码详解和实操建议,让你的应用秒瘦身
特立独行的猫 特立独行的猫
7个月前
HarmonyOS NEXT应用开发实战:十二、远场通信RCP简单好用的模块化封装
在进行HarmonyOS的应用开发中,我们常常需要进行网络通信。然而,原始的远场通信(RCP)使用方式较为繁琐,让人感到不够便捷。作为一位前期从事小程序开发的开发者,我深受小程序网络访问的简单性和便利性的吸引。因此,我决定在HarmonyOS中打造一个高效