新的React库:借助Axiosflow的自动客户端生成功能,API集成变得简单
嘿,开发人员
我很高兴推出一个新的开源库,它以无与伦比的类型安全性弥补了 Express 后端和 Axios 前端客户端之间的差距。Axiosflow 直接从您的 Express.js 后端 API 定义自动生成类型安全的 Axios 客户端函数。这消除了繁琐的样板代码并确保了前端和后端之间的无缝集成,从而提高了开发人员的工作效率并减少了错误。
核心功能:
Github:链接
我非常想听听您的想法。
您可以通过在项目根文件夹中执行命令来使用 axiosflow:
# Basic generation axiosflow generate # With specific options axiosflow generate -b http://localhost:3000 -o ./src/services
Axiosflow 生成的这些 API 函数如下所示:
/** * Auto-generated types based on API schema * Generated by axiosflow * @generated * @timestamp 2024-12-30T08:09:14.272Z */ import axios, { AxiosRequestConfig, isAxiosError } from 'axios'; import { BASE_URL, endpoints } from './apiConfig'; import { UserRequest, User } from './types'; /** * * Performs a GET request to /users * @param {AxiosRequestConfig} [config] - Optional Axios request configuration * @returns {Promise} - User response data * @throws {Error} - Throws an error for network or API-related issues * @example * * const result = await get_users(); */ export const get_users = async ( data?: Record , config?: AxiosRequestConfig ): Promise => { // URL parameter replacement utility const replaceUrlParams = (url: string, data?: Record ) => { if (!data) return url; return url.replace(/:(\w+)/g, (_, key) => data[key as keyof typeof data] !== undefined ? String(data[key as keyof typeof data]) : '' ); }; // Construct base URL const baseUrl = BASE_URL + endpoints.get_users; // Replace URL parameters const url = replaceUrlParams(baseUrl, data); const requestConfig: AxiosRequestConfig = { method: 'GET', url, params: data, ...config, };
NPM 链接在这里:链接