如何用TypeScript在Vue项目中优雅地调用Swagger API实现高效接口调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计767个文字,预计阅读时间需要4分钟。
Swagger 是一个规范和框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。集成 Swagger 后,后端服务可提供在线文档地址,方便前端同学学习。前端如何优雅地调用呢?
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。
本文共计767个文字,预计阅读时间需要4分钟。
Swagger 是一个规范和框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。集成 Swagger 后,后端服务可提供在线文档地址,方便前端同学学习。前端如何优雅地调用呢?
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。

