爱意满满的作品展示区。
yinzhenyu

亲爱的前端朋友们,是时候让接口对接更轻松一点了,来看看这个

  •  
  •   yinzhenyu · Oct 29, 2022 · 5275 views
    This topic created in 1470 days ago, the information mentioned may be changed or developed.

    api-typing

    一个强类型提示的 http 客户端框架(基于 axios )

    亲爱的前端同事们,你是否受够了和后端每天不断地对接口,调整接口路径和传参格式?是否疲于查看后端的回参文档?是否疲于人肉查看同步每次更新后的接口字段变更?是时候让这些工作更加简单轻松一点了。

    快来这里看看吧

    18 replies  •  2022-11-03 12:50:10 +08:00
    TabGre
    TabGre
    Oct 29, 2022 via iPhone
    1
    没有文档的吗? 如果连这个都没有,啥工具也没有用
    yinzhenyu
    yinzhenyu
    OP
    Oct 29, 2022
    2
    @TabGre 文档正在写了,马上就会同步
    8bryo4p5qn758Dmv
    8bryo4p5qn758Dmv
    Oct 29, 2022
    3
    为什么不用 OpenAPI?
    yinzhenyu
    yinzhenyu
    OP
    Oct 29, 2022
    4
    @whitecosm0s 这个就是基于 openapi 协议的
    yinzhenyu
    yinzhenyu
    OP
    Oct 29, 2022
    5
    @whitecosm0s 可以根据你项目的 openapi 文档生成 ts 类型,自动提示接口的传参和回参
    golangLover
    golangLover
    Oct 29, 2022
    6
    先等文档吧。暂时没有文档的话可能就个人 project 敢用。
    TS 好评
    estk
    estk
    Oct 29, 2022 via Android
    7
    我觉得后端提供 swagger 是对前端最大的尊重
    TabGre
    TabGre
    Oct 29, 2022 via iPhone
    8
    @yinzhenyu 我的意思时两端对接时连基本约定的定义都不肯做,拿什么工具也约束不了
    lisongeee
    lisongeee
    Oct 30, 2022
    9
    小建议,应该使用 `import type` 而不是 `import`
    fay94
    fay94
    Oct 30, 2022
    10
    nswag ?
    yinzhenyu
    yinzhenyu
    OP
    Oct 30, 2022 via Android
    11
    @TabGre 是的,这个是在 swagger 的基础生成的 TS 类型,好处是缺少什么字段或者类型不对,前端可以清楚的知道,不用肉眼核对字段信息了
    corianderHunter
    corianderHunter
    Oct 31, 2022
    12
    我也写过一个,支持 openapi2 、openapi3 ,而且支持根据 tags 来指定代码集合。https://www.npmjs.com/package/openapi-parser-shark 。代码比较粗糙,而且感觉几乎不能有效考虑到所有的测试场景。最关键的是,使用这种类型工具,对后端接口文档的质量要求很高。我觉得如果不能对 openapi 文档做版本管理,约束 schema 变更,以后的代码迭代,可能维护上会出大问题。
    yinzhenyu
    yinzhenyu
    OP
    Nov 1, 2022
    13
    @corianderHunter 嗯,我也想过自动生成代码,但觉得还是太重了。这个项目的目的就是只做类型提示,不会限制接口的业务代码编写,在不能提示的时候提供降级的解决方案,尽量让接口参数和文档保持一致。至于后端文档不完善也是个问题但这是后端的问题,前端要做的就是踢他们的屁股。
    yinzhenyu
    yinzhenyu
    OP
    Nov 1, 2022
    14
    @lisongeee 已改
    manasheep
    manasheep
    Nov 3, 2022
    15
    这是不是已经被 Apifox 实现了?:

    根据接口 /模型定义,自动生成各种语言 /框架的业务代码和 API 请求代码。
    支持 TypeScript 、Java 、Go 、Swift 、ObjectiveC 、Kotlin 、Dart 、C++、C#、Rust 等 130 种语言及框架。
    支持自定义代码模板,自动生成符合自己团队的架构规范的代码,满足各种个性化的需求。

    https://www.apifox.cn/
    GreatAuk
    GreatAuk
    Nov 3, 2022❤️1
    16
    https://github.com/chenshuai2144/openapi2typescript#readme 推荐个工具,代码和类型都根据 openapi 生成
    yinzhenyu
    yinzhenyu
    OP
    Nov 3, 2022 via Android
    17
    这个项目的目的并不是为了生成接口代码,而是仅做接口参数的类型提示和校验,因为每个人封装接口的方式都是不一样的,如果直接生成接口代码会缺少一定的灵活性
    yinzhenyu
    yinzhenyu
    OP
    Nov 3, 2022 via Android
    18
    @manasheep apifox 我也在用,但是我一直觉得直接生成接口代码的方式太重了,所以选择不生成接口代码,只做类型限制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1643 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 04:43 · PVG 12:43 · LAX 20:43 · JFK 23:43
    ♥ Do have faith in what you're doing.