# Request 模块支持自定义转换器

自定义转换器实现对每一个请求数据转换

最佳使用方式:

  • use Typescript 实现
import { IBaseConverter } from "@tencent/slug-request";

class CustomConvert implements  BaseConverter {
  convert<R extends object = {}>(type: ApiTypes.HttpDataSource, data: any | JSONData): ApiTypes.ApiBaseResult<R> {
    // do something
  }
}

  • use javascript
class CustomConvert {
  convert(type, data) {
    // do something
    return {
      // 返回 response data
    }
  }
}

import { slugRequest } from "@tencent/slug-request";
const config2: ApiTypes.HttpRequestConfig = {
  baseUrl: 'https://test.game.qq.com',
  path: '/wmp/v3.1/public/searchNews.php',
  query: {
    p1: 1,
  },
  source: 'v4',
  type: 'api',
  method: 'POST',
  underlizeQuery: false,
  converter: new CustomConvert()
}

interface ResponseData {
  username: string;
  avatar: string;
}

export async function requestV4Detail() {
  return slugRequest<ResponseData>(config2);
}

注意: 转换器转换函数必须保持统一的数据格式返回

更新于: 4/11/2022, 3:11:13 PM