程序员

java里面使用swagger codegen自动生成sdk

2020-02-27  本文已影响0人  刘书生

我翻阅了大半个互联网,看到得全都是java -jar XXXX.jar generate -i ....这种形式得代码生成,这种其实也还好,集成到项目里面也能做,但是这次我要说的不是这种方式

<dependency>
            <groupId>io.swagger.codegen.v3</groupId>
            <artifactId>swagger-codegen-cli</artifactId>
            <version>3.0.8</version>
</dependency>

ok,接下来,就是我们熟悉得操作呢,先上代码,非常简单

/**
 * 生成sdk
 */
public class Codegen {

    private static Logger LOGGER = LoggerFactory.getLogger(Codegen.class);

    public void codegen(String json, String lang,String o){
        List<String> cmdList = new ArrayList<>();
        cmdList.add("generate");
        cmdList.add("-i");
        cmdList.add(json);
        cmdList.add("-l");
        cmdList.add(lang);
        cmdList.add("-o");
        cmdList.add(o);
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("Start Codegen with command line:" + String.join(" ", cmdList));
        }
        SwaggerCodegen.main((String[])cmdList.toArray(new String[cmdList.size()]));
    }
}

测试代码我就不上了(偷个懒,上完班太累了),欢迎大家一起交流qq:1660426556

解释下以上代码意思啊,-l指定得是你需要生成得语言,例如java,-o指定得是你需要生成得代码得文件位置。

上一篇 下一篇

猜你喜欢

热点阅读