Skip to content
On this page

API 具体 API 地址

在进行了实例初始化后,即可使用实例定义具体 API 地址请求,以便调用

typescript
// api.ts

/**
 * 该API请求参数接口
 */
interface RequestBody {
  // 当前页码
  page: number;
  // 单页数据量
  size: number;
  // 搜索关键词
  search?: string;
}

/**
 * 该API响应参数接口
 */
interface ExtraResponseBody {
  records: Array<String>;
}

/**
 * 具体API地址
 */
const getListData = (data: RequestBody) => {
  return RequestExample<RequestBody, ExtraResponseBody>({
    url: '/api',
    method: 'GET',
    data,
    // 局部拦截器,不设置将使用全局实例拦截器
    interceptors: {
      requestInterceptors(response) {
        return response;
      },
      responseInterceptors(result) {
        return result;
      },
    },
  });
};

类型接口

RequestBody

interface 将指定发送请求时的参数配置,此处配置为常用的获取表格数据需使用的参数,可根据实际需要进行修改

TypeScript
interface RequestBody {
  // 当前页码
  page: number;
  // 单页数据量
  size: number;
  // 搜索关键词
  search?: string;
}

ExtraResponseBody

由于 ResponseBody 已经在实例初始化时占用,因此位于 ResponseBody 中服务器返回数据的type T 使用 ExtraResponseBody 替代。此处ExtraResponseBody 返回数据格式为 Array<String>

TypeScript
// request.ts
interface ResponseBody<T> {
  // 服务器定义返回code
  code: number;
  // 服务器定义返回文字
  message: string;
  // 服务器定义返回数据
  data: T;
}
// api.ts
interface ExtraResponseBody {
  records: Array<String>;
}

实例返回数据

根据以上请求发送的数据服务器会返回以下格式数据,供参考

json
{
  "code": 200,
  "message": "ok",
  "data": {
    "records": [1, 2, 3, 4, 5]
  }
}

Released under the MIT License.