HarmonyOS 鸿蒙Next Http请求中的 Post 请求,如何将 extraData 作为参数传递使用

HarmonyOS 鸿蒙Next Http请求中的 Post 请求,如何将 extraData 作为参数传递使用

咨询描述:想将 extraData 作为参数传递,不知道如何操作

httpRequestPostDoMain(domain:string, url:string, object:object):Promise<CkResponseResult > {
  le thttpRequest = http.createHttp();
  let responseResult = httpRequest.request(url, {
    method: http.RequestMethod.POST,
    readTimeout: Constant.NETWORK_TIME_OUT,
    header: {
      'Content-Type': 'application/json; charset=UTF-8',
      //TODO 用户信息需要后面补充
      'userToken': '',
      'Cookie': '',
      'token': '',
      'Terminal': 'HuaWei',
      'Accept-Encoding': 'gzip, deflate',
      'Accept': 'application/json,text/javascript,*/*;charset=UTF-8',
    },
    connectTimeout: Constant.NETWORK_TIME_OUT,
    extraData: object
  });
  let serverData: CkResponseResult = new CkResponseResult();
  return responseResult.then((value: http.HttpResponse)=>{
  //接口请求成功
  if(value.responseCode===200){
  //获取返回的数据
  let result = `${value.result}`
  //转换JSON
  let resultJson: CkResponseResult = JSON.parse(result)
  //
  if( resultJson.status===Constant.CK_NETWORK_YES) {
  serverData.data = resultJson.data;
  }
  serverData.status = resultJson.status;
  serverData.msg = resultJson.msg;
}
else {
  serverData.msg = '接口数据异常' + value.responseCode;
}
return serverData;}).catch(() => {
  serverData.msg = '接口数据异常'
  return serverData;
})}

更多关于HarmonyOS 鸿蒙Next Http请求中的 Post 请求,如何将 extraData 作为参数传递使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
看到您将object参数传给了extraData,请问您是打算将键值对(Map)作为httpRequestPostDoMain方法的形参吗?想传map类型的键值对数据,但却接收不到,可以将map数据通过遍历转存到Record中,再进一步可以将Record转成JSON格式传递,就可以接收到了。

代码参考:

Map2Record(): object {
  const map = new Map([
    ['name', 'AAA'],
    ['sex', 'male'],
    ['age', '20']
  ]);

let jsonObject: Record<string, Object> = {}; map.forEach((value, key) => { if (undefined != key && undefined != value) { jsonObject[key] = value; } })

// return jsonObject; let info = JSON.stringify(jsonObject); return new Object(info); }

更多关于HarmonyOS 鸿蒙Next Http请求中的 Post 请求,如何将 extraData 作为参数传递使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中进行HTTP的POST请求时,若需将extraData作为参数传递,通常可以通过以下步骤实现:

  1. 构建请求体:首先,将extraData序列化为JSON字符串或其他适合传输的格式。如果extraData是复杂对象,可以使用JSON库(如Gson或Fastjson)进行序列化。

  2. 设置请求头:确保在HTTP请求头中设置Content-Typeapplication/json(如果数据是以JSON格式发送的)。这有助于服务器正确解析请求体。

  3. 发送POST请求:使用HarmonyOS提供的网络请求API(如HttpURLConnection或第三方库如OkHttp)发送POST请求,并将序列化后的extraData作为请求体发送。

  4. 处理响应:接收服务器响应,并根据需要解析响应内容。

示例代码(伪代码,具体实现需根据HarmonyOS API调整):

String jsonData = JsonUtils.toJsonString(extraData);
HttpURLConnection connection = (HttpURLConnection) new URL("your-url").openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
os.write(jsonData.getBytes("UTF-8"));
os.flush();
os.close();

// 处理响应...

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部