axetroy / todo

个人的TODO计划, 不要Fork,可以Watch
http://www.axetroy.xyz/#/todo
0 stars 2 forks source link

写一个工具,从 swagger 生成声明文件 #131

Closed axetroy closed 3 years ago

axetroy commented 3 years ago

初衷/目标

因为接口太多,不好管理,并且如果是 DTO 结构,写声明文件非常难受,得为每个接口书写

所以如果有工具,可以直出声明文件 (interface) 那么在调用这个时,智能提示,接口返回的类型标注等等之类都有了

// generate from swagger
export interface Api {
  get(url: "/user/profile", data?: null): Promise<{ username: string }>;
  post(
    url: "/auth/login",
    data: { username: string; password: string }
  ): Promise<{ username: string; token: string }>;
}
let api!: Api;

api.get("/user/profile").then(data => {
  console.log(data.username);
});

api.post("/auth/login", { username: "", password: "" }).then(data => {
  console.log(data.token);
});

目前市面上有 swagger to typescript 的工具,但是都不太满意

TODO类型

预计时间

相关链接

https://github.com/axetroy/todo

axetroy commented 3 years ago

生成器已完成,因为目前跟业务强绑定,所以暂不开源

axetroy commented 3 years ago

https://github.com/axetroy/swagger2ts