chenhui7373
V2EX  ›  问与答

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

  •  1
     
  •   chenhui7373 · Sep 14, 2020 · 1575 views
    This topic created in 2139 days ago, the information mentioned may be changed or developed.

    输入:

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

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

    原来还有这种规范

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

    发现国产 apifox 不错,直接支持了这个设定
    apifox
        12
    apifox  
       Dec 7, 2020
    你试试 Apifox 。可以直接根据接口自动生成各种语言的代码,目前支持近 200 种语言和框架
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 06:46 · PVG 14:46 · LAX 23:46 · JFK 02:46
    ♥ Do have faith in what you're doing.