簡體   English   中英

如何以編程方式調用 swagger codegen?

[英]How to call swagger codegen programmatically?

我正在使用 swagger-codgen-cli.jar 生成一個寧靜的 java jax-rs api。
現在我使用一些命令行選項調用 java -jar 來執行此操作。

java -jar swagger-codegen-cli.jar generate -i api.yaml -l jaxrs -o ./outputdir

哪個工作正常。

但是我想從 Java 程序中進行這個調用,即將 codegen.jar 包含到我的類路徑中,然后使用類似的參數調用相應的方法。

那么我可以調用來自 swagger-codegen 模塊的公共 API 嗎?

如果我正確理解您的需求,您會希望動態生成您的存根類。 那么為什么不使用swagger-codegen-maven-plugin來生成您的存根類呢?

如使用部分所述,只需添加到您的 build->plugins 部分(默認階段是 generate-sources 階段)

<plugin>
    <groupId>com.garethevans.plugin</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>${project.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>src/main/resources/api.yaml</inputSpec>
                <language>java</language>
            </configuration>
        </execution>
    </executions>
</plugin>

如果您想從程序中執行命令,您可以使用Runtime.getRuntime().exec()Runtime.getRuntime().exec() 替代方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM