华为HarmonyOS NEXT 原生应用开发:使用 Http 和 axios三方库与服务器网络数据请求交互 && 原生鸿蒙项目开发中 axios 的二次封装和配置_harmonyos next的app与服务器的交互
原生鸿蒙中的网络数据请求
一、使用内置的 http - 数据交互
第一步: 引入
import { http } from \'@kit.NetworkKit\'
第二步:创建 http 对象
// 创建 http 请求对象const req = http.createHttp()
第三步: 通过 http对象中的 request 方法发送请求
et result = await req.request(\"服务器后台 url 地址\")
第四步: 调用方法 发送请求
// 调用请求方法获取后端数据!this.requestData()
-
- 完整代码示例:
// 1. 导包import { http } from \'@kit.NtworkKit\'// 2. 封装内置的 请求数据 的方法 async requestData() { // 创建 http 请求对象 const req = http.createHttp() // 通过 http 中的 request 方法 发送网络数据请求 let result = await req.request(\"https://zhousg.atomgit.net/harmonyos-next/takeaway.json\") // 获取返回结果中的数据包 let data = result.result return data }// 3. 触发事件, 调用请求方法 Button(\"获取数据\") .onClick(async () => { // 调用请求方法获取后端数据! let result = await this.requestData() })
二、实际开发中常见的请求方法 - 增删改查
- get 、 put、 delete、 post方法的使用如下代码所示,下面分别展示了这四种常见方法的使用。
- 请求头配置和携带的请求参数配置都展示在下方,自己根据项目需求进行配置即可
import { http } from \'@kit.NetworkKit\';// 定义数据结构interface bookStructure { bookname: string; author: string; publisher: string; creator: string;}// 携带的参数const bookParams: bookStructure = { bookname: \"鸿蒙开发\", author: \"鸿蒙开发者\", publisher: \"华为出版社\", creator: \"小蒙\"};const token = localStorage.getItem(\'user_token\'); // 获取存储的token@Entry@Componentstruct Index2 { build() { Column() { Text(\"内容\") Button(\"新增图书\") .onClick(async () => { try { const req = http.createHttp(); const result = await req.request(\"https://hmajax.itheima.net/api/books\", { method: http.RequestMethod.POST, header: { \"Content-Type\": \"application/json\", \"Authorization\": token }, extraData: JSON.<