新的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 链接在这里:链接