HarmonyOS 编写接口脚本在进行json解析时一直提示类型不对

编写接口脚本在进行json解析时一直提示类型不对,需要可以运行的接口脚本的demo。

请求方式:

POST请求头Header参数;

u_udid是string设备唯一id;

e_efrom是string和事件efrom一致;

u_sysOs是string操作系统;

u_timestamp是string时间戳;

u_sign是string签名;

u_userId是Integer用户id,未登陆时默认传0。

接口参数:

img是MultipartFile 文件流;

tcode是String计数模板简称。

HarmonyOS
2024-12-23 16:28:21
1285浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

1、创建一个工具类目录utils,在子目录下创建文件HttpUtil:

import http from '@ohos.net.http';

export function httpRequestGet(url: string): Promise<ResponseResult> {
  let httpRequest = http.createHttp();
  let responseResult = httpRequest.request(url, {
    method: http.RequestMethod.GET,
    readTimeout: Const.HTTP_READ_TIMEOUT,
    header: {
      'Content-Type': ContentType.JSON
    },
    connectTimeout: Const.HTTP_READ_TIMEOUT,
    extraData: {}
  });
  let serverData: ResponseResult = new ResponseResult();
  // Processes the data and returns.
  return responseResult.then((value: http.HttpResponse) => {
    if (value.responseCode === Const.HTTP_CODE_200) {
      // Obtains the returned data.
      let result = `${value.result}`;
      let resultJson: ResponseResult = JSON.parse(result);
      if (resultJson.code === Const.SERVER_CODE_SUCCESS) {
        serverData.data = resultJson.data;
      }
      serverData.code = resultJson.code;
      serverData.msg = resultJson.msg;
    } else {
      serverData.msg = `${$r('app.string.http_error_message')}&${value.responseCode}`;
    }
    return serverData;
  }).catch(() => {
    serverData.msg = $r('app.string.http_error_message');
    return serverData;
  })
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.

2、在需要的地方可以这样引用:

import { httpRequestGet } from '../common/utils/HttpUtil';
  • 1.

也可以参考使用官方的api自行实现业务逻辑,文档考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5#httprequest

或者使用三方库axios来实现,文档参考:https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Faxios

分享
微博
QQ
微信
回复
2024-12-23 19:38:06


相关问题
动画调用一直报错,提示不可调用
333浏览 • 0回复 待解决
使用AES解密一直报解密异常
1327浏览 • 1回复 待解决
HarmonyOS 获取定位一直失败
914浏览 • 1回复 待解决
HarmonyOS IDE无法打开,一直崩溃
968浏览 • 1回复 待解决
HarmonyOS 应用上架一直loading
748浏览 • 1回复 待解决
harmonyOS toggle 赋值一直重新触发
530浏览 • 0回复 待解决
http 请求一直报 2300058
2566浏览 • 0回复 待解决
HarmonyOS accessBackward方法一直返回true
810浏览 • 1回复 待解决
HarmonyOS 终端运行ohpm一直报错
1101浏览 • 1回复 待解决