@howlove/swagger-tsgen
v0.0.34
Published
根据swagger v3生成对应的ts文件
Downloads
2,483
Readme
需要注意的是
在寻找urls的时候需要使用https开头,在swagger的页面中,打开network里,查看你的请求,查看url
给接口请求增加自定义参数
declare module './src/api/index.d.ts' {
interface SwaggerRequestConfig<R, TData> {
showLoading?: boolean;
retry?: number;
customToken?: string;
}
}创建index.js
const requestApi = async (...args) => {
console.log(args);
}
export default new Proxy(
{},
{
get(_, key) {
return async (data, config) => {
const [method, ...urlArr] = key.split("_");
return requestApi(`/${urlArr.join("/").replaceAll('$', '_')}`, {
method,
data,
...config,
});
};
},
},
);
使用方法1
在项目中创建一个swagger.config.json文件
swagger.config.json
{
"urls": [
"https://swagger.com/api-docs/user",
["https://swagger.com/api-docs/index?group=分销中心", "distributor", {"includes": ["接口组1", "接口组2"], "excludes": ["接口组3", "接口组4"]}],
["https://swagger.com/api-docs/distributor", {"name": "distributor", "includes": ["接口组1", "接口组2"], "excludes": ["接口组3", "接口组4"]}]
],
"output": "./src/api"
}
在项目中执行命令
npx @howlove/swagger-tsgen使用方法2
在项目中安装依赖
npm i @howlove/swagger-tsgen -D创建文件 swagger-format.js
import { generateSwaggerTypes } from "@howlove/swagger-tsgen";
await generateSwaggerTypes({
urls: [
"https://swagger.com/api-docs/user",
["https://swagger.com/api-docs/index?group=分销中心", "distributor", {"includes": ["接口组1", "接口组2"], "excludes": ["接口组3", "接口组4"]}],
["https://swagger.com/api-docs/distributor", {"name": "distributor", "includes": ["接口组1", "接口组2"], "excludes": ["接口组3", "接口组4"]}]
],
output: "./src/api",
});执行命令
node swagger-format.js