用 Java 写了个开源的 Postman 替代品,本地存储 + Git 协作 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lakernote
V2EX    程序员

用 Java 写了个开源的 Postman 替代品,本地存储 + Git 协作

  •  3
     
  •   lakernote 12 天前 5987 次点击

    很多代码用 AI 写的 做了个开源的 API 调试工具,主要解决几个痛点:

    • Postman 强制登录、数据上云,隐私问题
    • 想用 Git 管理 API 数据,配合代码一起版本控制
    • 调试和压测分开用两个工具太麻烦

    主界面

    主要特性

    基础功能

    • HTTP/SSE/WebSocket 支持
    • 环境变量、请求历史、脚本支持
    • 导入导出 Postman v2.1 和 curl

    差异化功能

    • 100% 本地存储,数据不上云
    • 内置 Git 集成,API 数据也能版本管理
    • 内置性能测试,调试完直接压测 Git 工作区

    性能测试

    • 原生应用( Java Swing ),比 Electron 快

    下载

    GitHub: https://github.com/lakernote/easy-postman/releases 国内镜像: https://gitee.com/lakernote/easy-postman/releases

    支持 Windows / macOS (含 M 芯片)/ Linux

    适合场景

    • 不想用 Postman 登录和云同步
    • 公司有数据隐私要求
    • 小团队想用 Git 协作管理 API
    • 需要同时做接口调试和性能测试

    欢迎试用反馈

    第 1 条附言    11 天前

    经验 用Swing做应用非常痛苦,很多高级现代的UI都不支持,我是因为2014年的时候搞过一段时间Swing,加上java后端干了10几年了,才选了这个试水,结论就是做一些产研用到tools可以,其他不推荐~~~不推荐。 历程 刚开始时纯手撸代码,搞出个初版核心功能的框架,然后后面用了 chatgpt4.1(非常难用),后面一直用的claude 4.5(强推~强推)

    106 条回复    2025-11-04 12:35:14 +08:00
    1  2  
    ldw4033
        1
    ldw4033  
       12 天前
    牛啊
    puras
        2
    puras  
       12 天前   1
    赞,自己也有想法,但最终还停留在想法上。。。
        4
    Ayanokouji  
       12 天前
    为啥不用 idea 的 http client ,有环境变量,有参数变量,还能随项目管理
    Ayanokouji
    lakernote
        5
    lakernote  
    OP
       12 天前
    @Ayanokouji 用过非常好用,但是不冲突,插件需要依托于 idea
    lakernote
        6
    lakernote  
    OP
       12 天前
    @tanxnative 用过 idea 的 http client ,也非常好用,不冲突,EasyPostman 可视化好些
    sunziren
        7
    sunziren  
       12 天前 via Android
    牛比,666 。
    elboble
        8
    elboble  
       12 天前
    呃,intel 的 mac 被忽略了
    CodeCodeStudy
        9
    CodeCodeStudy  
       12 天前
    用 Java 写的客户端运行流畅不?内存占用多少?
    lakernote
        10
    lakernote  
    OP
       12 天前
    @elboble 今天 build 出来一个,java 跨平台的 没事可以兼容的
    lakernote
        11
    lakernote  
    OP
       12 天前
    @CodeCodeStudy 我是 mac ,我默认设置的最大内存 512MB 很流畅
    liuliuliuliu
        12
    liuliuliuliu  
    PRO
       12 天前
    java 能 aot 编译不?编译成原生?
    zxdstyle
        13
    zxdstyle  
       12 天前   1
    lifeOsDeveloper
        14
    lifeOsDeveloper  
       12 天前
    @lakernote 怎么被 windows 安全中心报毒了
    lakernote
        15
    lakernote  
    OP
       12 天前
    @lifeOsDeveloper 应该是误报,无毒哈 代码都开源了
    ZiLong
        16
    ZiLong  
       12 天前
    用 Java 实现是一件很棒的事情!
    programApe
        17
    programApe  
       12 天前
    卸载之后无线循环这个弹框,点 ok 和关闭都关不掉
    mdn
        18
    mdn  
       12 天前   1
    这类软件太多了
    客户端
    Insomnia 、Bruno 、Yaak(Insomnia 原作者新作)
    web 端
    Hoppscotch (原 postwoman )
    VS Code 扩展
    Thunder Client 、REST Client
    bronyakaka
        19
    bronyakaka  
       12 天前
    java 。。。
    Jasperzz
        20
    Jasperzz  
       12 天前
    用 Java 实现不是一件很棒的事情!
    William97
        21
    William97  
       12 天前
    给你点赞,行动能力很强
    SmallBlueZhao
        22
    SmallBlueZhao  
       12 天前
    给 star 了,昨天问豆包有啥 postman 的替代品,就给推荐了你这个,我下载安装了还没来得及从 postman 迁移数据,弱弱提一嘴 这个 icon 还有界面 UI 风格个人有点接受不了,希望后面可以优化一下。。。
    zjsxwc
        23
    zjsxwc  
       12 天前
    能放个 jar 包到 release 上去吗,有些不是 deb/rpm 的 linux 用户比如 arch ,或者不想把软件装到系统里,只想绿色环境直接就能跑
    lakernote
        24
    lakernote  
    OP
       12 天前
    @zjsxwc
    收到
    lakernote
        25
    lakernote  
    OP
       12 天前
    @SmallBlueZhao 收到,后面继续优化
    lakernote
        26
    lakernote  
    OP
       12 天前
    @Jasperzz 的确 不是一件很棒的事情,后面的兄弟尽量别搞 javaswing 了,很多 UI 布局搞不定。。。
    lakernote
        27
    lakernote  
    OP
       12 天前
    @programApe 应该是权限或者杀毒软件问题,我这个包是没签名的
    lakernote
        28
    lakernote  
    OP
       12 天前   2
    @mdn 是的,我很多就是抄袭他们的,想用 javaswing 写个试试,写完之后,劝后面的兄弟别用 javaswing 了 难用的一笔。。。
    lakernote
        29
    lakernote  
    OP
       12 天前
    @liuliuliuliu 不行哦 老哥
    programApe
        30
    programApe  
       12 天前
    @lakernote #27 卸载的时候点错了,点了修复,然后发现点错了又点了取消,再次卸载就出现这个问题了,最麻烦的是无法关闭,会一直弹。
    craftsmanship
        31
    craftsmanship  
       12 天前 via Android
    嘿嘿 用 rust 重写的机会这不就来了(
    rlds
        32
    rlds  
       12 天前
    挺不错的
    CodeCodeStudy
        33
    CodeCodeStudy  
       12 天前
    大佬,可以尝试一下用 GraalVM JDK 25 的 native-image 编译成原生二进制可执行文件
    lakernote
        34
    lakernote  
    OP
       12 天前
    @programApe 对于给你造成的问题深感抱歉,这个安装包 msi 是用的 java 官方推荐的 jpackage 。。。可能是它的 bug
    colincat
        35
    colincat  
       12 天前
    点赞了,还没有下载尝试
    apkapb
        36
    apkapb  
       12 天前
    idea 的 UI 框架??

    用的什么 UI 框架呀
    colincat
        37
    colincat  
       12 天前
    已经尝试,功能很不错,还支持一些小工具,我是源码运行,Mac intel 芯片,继续点赞
    想问一下用什么 AI 写出来的,感觉质量很高
    colincat
        38
    colincat  
       12 天前
    @apkapb 我刚开始也感觉风格不错,FlatLaf 可以看源代码哈~
    jsq2627
        39
    jsq2627  
       12 天前
    > 原生应用( Java Swing ),比 Electron 快

    哈哈,我记得曾经 electron 大流行以前,Swing 是臃肿和卡顿的代名词
    shannn
        40
    shannn  
       12 天前
    印象里 Java 做的客户端都很吃内存
    yryc
        41
    yryc  
       12 天前
    支持测试并发吗
    JShen
        42
    JShen  
       12 天前
    牛逼的,前段时间 AWS 故障,我的 postman 不可用了,而且必须要登录才能使用,苦 postman 久已。
    programApe
        43
    programApe  
       12 天前
    @lakernote #34 说造成麻烦言重了 写的还是很赞的
    acerphoenix
        44
    acerphoenix  
       12 天前
    赞, 虽然我用 bruno.
    niubee1
        45
    niubee1  
       12 天前
    随便找个免费的 AI ,然后,一直提要求,就能帮你写好 curl 命令。。。。。。。。
    james122333
        46
    james122333  
       12 天前 via Android
    就多个 postman... 老实讲这类工具使用成本还是过高了 也并不怎么能应对麻烦情况
    doublestart
        47
    doublestart  
       12 天前   1
    看了下 git 提交记录, 佩服佩服, 6 月份和 7 月份基本天天弄到晚上 12 点左右, 次日 10 点左右接着干, 我自己弄点感兴趣的东西坚持一个月也是每晚干到 12 点, 身体受不了. 最后再佩服一次大佬
    xiangsanliu
        48
    xiangsanliu  
       12 天前
    内存占用咋样,16G 伤不起呀
    cymanbu
        49
    cymanbu  
       12 天前
    已 star, 公司不让装 postman, IDEA 也是社区办没法使用 rest client ,其他 vscode 上面的插件要么是要登录,要么是需要的功能没有。
    明天试一试这个。
    likeme
        50
    likeme  
       11 天前
    老哥你原本是做 java 后端吗?
    lakernote
        51
    lakernote  
    OP
       11 天前
    @apkapb FlatLaf
    lakernote
        52
    lakernote  
    OP
       11 天前
    @likeme 是的 10 多年 老 javer 后端了
    lakernote
        53
    lakernote  
    OP
       11 天前
    @xiangsanliu 我设置的最大 512MB 可以自己设置的
    lakernote
        54
    lakernote  
    OP
       11 天前
    @cymanbu 我们公司也是这个背景,才赶紧搞了这个项目的
    lakernote
        55
    lakernote  
    OP
       11 天前
    @doublestart 我还是 2014 年搞过 swing ,经过这个项目 我发现 swing 写桌面应用还是太吃力了。。。
    chenqh
        56
    chenqh  
       11 天前
    能力太强了.
    lakernote
        57
    lakernote  
    OP
       11 天前
    @yryc 支持
    lakernote
        58
    lakernote  
    OP
       11 天前
    @jsq2627 吹牛逼用的哈哈
    bli22ard
        59
    bli22ard  
       11 天前 via iPhone
    怎么不用 Compose Multiplatform 做 ui ?
    mayli
        60
    mayli  
       11 天前 via Android
    Curl hurl?
    dcsuibian
        61
    dcsuibian  
       11 天前
    我点进来之前是想吐槽下技术选型的
    但是吧,这个做得还挺好看,虽然细节上没有很多 html 页面好看,但是总体来说看得出花了很多心血。尤其是做过 java gui 开发的应该都能了解有多难写
    不过说真的还是尽早放弃 swing 比较好
    wangsilence
        62
    wangsilence  
       11 天前
    用 Java 写 GUI 牛
    cymanbu
        63
    cymanbu  
       11 天前
    @lakernote 佩服大佬的行动力,我现在都是偷摸使用电脑上还没有卸载的 postman ,但是有的同事又没有,一直想找一个满足要求的,但是一直没找到,看来以后可以用你这个了,明天给同事推荐一下。
    iseki
        64
    iseki  
       11 天前 via Android
    swing 做成这个样子不容易了,工作量很大的。swing 有个遗憾就是没有 native 组件那么符合 native 的感觉,需要相当的额外工作才能把这些东西补上。
    cugljd
        65
    cugljd  
       11 天前
    star 支持一下
    zjsxwc
        66
    zjsxwc  
       11 天前
    我访问一个接口只返回 200K 字节 json 数据,
    但是在软件里查看这个响应体 json 好卡,好卡,卡的难受,能不能优化这个,

    比如给个选择,不要用富文本渲染返回,直接用 JTextArea 没有富文本渲染的组件来显示。
    doublestart
        67
    doublestart  
       11 天前
    @lakernote 以为是个人项目呢, 有个疑问公司项目为何不用 web 做? 更好的做项目管理,协作等.
    lakernote
        68
    lakernote  
    OP
       11 天前
    @bli22ard 后面了解下,技术广度不够
    lakernote
        69
    lakernote  
    OP
       11 天前
    @dcsuibian 是的 写的很痛苦,看到帖子的兄弟 搞搞小 tool 可以,真写大应用,建议不要用
    lakernote
        70
    lakernote  
    OP
       11 天前
    @iseki 是的工作量很大,我是因为搞了很多年的 java 了,所以用的这个,后面不建议大家用,除非你也是个 javer 搞搞 tool
    powersee
        71
    powersee  
       11 天前
    @lakernote #69 大应用 Java Swing 依然可以胜任,参考: https://github.com/TermoraDev/termora
    lakernote
        72
    lakernote  
    OP
       11 天前
    @powersee 牛 我学习下,刚好 看看大佬怎么搞的
    iseki
        73
    iseki  
       11 天前 via Android
    @zjsxwc 这个问题恐怕得自己写一个文本框才行,只考虑西文和 CJK 排版,也是很麻烦的事了。
    ZeroDu
        74
    ZeroDu  
       11 天前
    gaifanking
        75
    gaifanking  
       11 天前
    提个建议,既然是 java 写的,是不是能支持麒麟等国产浏览器?这块还是片蓝海。
    gaifanking
        76
    gaifanking  
       11 天前
    @gaifanking 说错了 国产操作系统
    wxyrrcj
        77
    wxyrrcj  
       11 天前
    @gaifanking 应该啥平台都支持 ~。~ 有 jar 只要系统能装 jdk 就能跑
    leeg810312
        78
    leeg810312  
       11 天前
    @powersee
    @lakernote 这个开源项目 UI 就是用前面有人提到的 Compose Multiplatform ,Jetbrains 开源的 UI
    lakernote
        79
    lakernote  
    OP
       11 天前
    @gaifanking @wxyrrcj 是的说的很对,releases 中已经提供了 jar 这也是 java 最大的好处了有 jdk 随便跑
    zhjunjun
        80
    zhjunjun  
       11 天前
    实名点赞
    zhjunjun
        81
    zhjunjun  
       11 天前
    已 star ,支持一波
    workqing2023
        82
    workqing2023  
       11 天前
    @leeg810312 https://github.com/TermoraDev/termora 你是说这个吗,我看不是用的 kmp 写的,只是用了 kotlin ,还是 swing 写的
    ala2008
        83
    ala2008  
       11 天前
    牛啊,不过可以参考下 idea 的 ui 框架
    cengjingyouni
        84
    cengjingyouni  
       11 天前
    不支持直接导入 cURL ,这个用得多
    simo
        85
    simo  
       11 天前
    很厉害
    但是 swing ,这是多想不开啊
    mengdodo
        86
    mengdodo  
       11 天前
    可以生成 markdown 吗,正在找不用登陆本地化能生成 markdown 的调试工具
    lakernote
        87
    lakernote  
    OP
       11 天前
    @cengjingyouni 支持啊
    zhuangzhuang1988
        88
    zhuangzhuang1988  
       11 天前
    功能不错
    代码有太多的单例了,各种 static 字段.
    lakernote
        89
    lakernote  
    OP
       11 天前
    @zhuangzhuang1988 一直在堆功能很多技术债,我来慢慢优化,大家也可以提 PR
    lizy0329
        90
    lizy0329  
       11 天前
    Java 的程序,没人会用吧?
    leeg810312
        91
    leeg810312  
       11 天前
    @workqing2023 我看错了,Kotlin Multiplatform ( Jetbrains 推荐结合 Compose Multiplatform 做 UI )是这个项目长期目标,可能开始应用了也可能还没有
    SANJI59
        92
    SANJI59  
       9 天前
    厉害!!!star 支持下
    lcingOnTheCake
        93
    lcingOnTheCake  
       8 天前
    居然用的是 swing ,我也用 java 做 gui ,用 javafx
    lakernote
        94
    lakernote  
    OP
       8 天前
    @lcingOnTheCake 发来 学习下啊,我这是借助 AI 搞的,本身对 Swing 不是多熟悉,14 年的时候搞过一段时间。。
    yoaotu
        95
    yoaotu  
       8 天前
    Java 搞的有一个很严重的问题,是内存,既然都是 ai 搞的,可以试试 rust ,c++去做。
    https://github.com/youaodu/Requiem, 我这个用 ai 写,在 windows 和 mac 上运行,内存能控制在 100M 以内
    HangoX
        96
    HangoX  
       8 天前
    你这个好适合加入到 jetbrains 的 ide 里面
    lakernote
        97
    lakernote  
    OP
       8 天前
    @HangoX 应用场景不一样,idea 中已经有很多相关产品了
    mmdsun
        98
    mmdsun  
       8 天前 via iPhone
    请问不用 Swing 的话,op 有推荐的框架吗?
    mmdsun
        99
    mmdsun  
       8 天前 via iPhone
    @lizy0329 JetBrains 家 IDE 都是 Java 开发的。
    gayluote
        100
    gayluote  
       7 天前
    APIfox 有类似的功能吧
    1  2  
    关于   &bsp; 帮助文档     自助推广系统     博客     API     FAQ     Solana     3035 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 12:55 PVG 20:55 LAX 04:55 JFK 07:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86