V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chenhui7373
V2EX  ›  问与答

请问 根据 REST api 生成 spring 客户端代码有什么办法?

  •  1
     
  •   chenhui7373 · 2020-09-14 16:43:36 +08:00 · 622 次点击
    这是一个创建于 700 天前的主题,其中的信息可能已经有所发展或是发生改变。

    输入:

    https://{api-host}/v1/player/immediateControl/power
    
    请求参数
     {
        "playerIds":[
            "4PBXun3mQoZGnKdLKoDtBA==",
            "4PBXun32QoZGnKdLKoDtBA=="
        ],
        "option":1
    }
    
    响应参数
     {
        "success":[
            "4PBXun3mQoZGnKdLKoDtBA==",
            "4PBXun32QoZGnKdLKoDtBA=="
        ],
        "fail":[
            "4PBXun3mQoZGnKdLKoDtBA==",
            "4PBXun32QoZGnKdLKoDtBA=="
        ]
    }
    

    输出:

    	controller 请求参数 能按输入请求参数接收
    	service    向该 url 请求,响应
    	没有 repository 、mapper 持久层 	
     
    

    需求概括,根据 url 请求、响应,包装成 spring 客户端代码 。 问题:有开源项目、或者工具吗

    12 条回复    2020-12-07 11:38:48 +08:00
    pushback
        1
    pushback  
       2020-09-14 16:44:38 +08:00   ❤️ 1
    自己手撸一个🐶
    chenhui7373
        2
    chenhui7373  
    OP
       2020-09-14 16:46:08 +08:00
    lower
        3
    lower  
       2020-09-14 16:46:48 +08:00   ❤️ 1
    postman
    chenhui7373
        4
    chenhui7373  
    OP
       2020-09-14 16:49:56 +08:00
    @lower 不错,入选,感谢!
    chenhui7373
        5
    chenhui7373  
    OP
       2020-09-14 16:53:04 +08:00
    @lower 还想再懒一点 ,连 controller service 也分层好 ~~~///(^v^)\\\~~~
    lower
        6
    lower  
       2020-09-14 16:54:38 +08:00   ❤️ 1
    jaylee4869
        7
    jaylee4869  
       2020-09-14 17:00:34 +08:00   ❤️ 1
    @chenhui7373 controller service ? 你说的是 spring 服务端代码吧? postman 只能生成客户端的调用代码( curl 这类)。
    chenhui7373
        8
    chenhui7373  
    OP
       2020-09-14 17:03:54 +08:00
    @jaylee4869 postman 这种还要自己再分层一下,spring 作为客户端请求 别人的 http Api
    napsterwu
        9
    napsterwu  
       2020-09-14 18:10:45 +08:00 via iPhone   ❤️ 1
    Insomnia 可以生成各种语言的代码段
    chenhui7373
        10
    chenhui7373  
    OP
       2020-09-23 08:54:11 +08:00
    @napsterwu 谢谢。这两天自己尝试写模板,用的 nodejs,然后发现自己不会 写 parser,遂弃。

    目前我的看法
    postman 是一种规范,如果大家都用 postman 测试自己的 restapi,只要导出来 json,或者直接生成 spring 规范的 controller service 岂不是美滋滋~
    chenhui7373
        11
    chenhui7373  
    OP
       2020-09-27 09:04:38 +08:00
    @lower https://github.com/OpenAPITools/openapi-generator/tree/v4.3.1/modules/openapi-generator/src/main/resources/JavaSpring

    原来还有这种规范

    自己做也会走老路,postman 规范很好,

    发现国产 apifox 不错,直接支持了这个设定
    apifox
        12
    apifox  
       2020-12-07 11:38:48 +08:00
    你试试 Apifox 。可以直接根据接口自动生成各种语言的代码,目前支持近 200 种语言和框架
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2878 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:04 · PVG 20:04 · LAX 05:04 · JFK 08:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.