Vue 使用typescript, 优雅的调用swagger API
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学。 前端如何优雅的调用呢? 入门版 根据文档,用axios自动来调用 // 应用管理相关接口 import axios from '../interceptors.js' // 获取应用列表 export const getList = (data) => { return axios({ url: '/app/list?sort=createdDate,desc', method: 'get', params: data }) } 这里的问题是,有多少个接口,你就要编写多少个函数,且数据结构需要查看文档获取。 进阶版本 使用typescript,编写API,通过Type定义数据结构,进行约束。 问题: 还是需要手写 优雅版本 swagger 其实是一个json-schema描述文档,我们可以基于此,自动生成。 很早之前,写过一个插件 generator-swagger-2-t , 简单的实现了将swagger生成typescript api。 今天,笔者对这个做了升级,方便支持后端返回的泛型数据结构。 安装 需要同时安装 Yeoman 和 -swagger-2-ts npm install -g