跳至內容

Swagger Codegen 產生器

如果預設的產生器組態不符合您的需求,您可以使用各種選項來修改或建立新的模組或範本。

修改用戶端程式庫格式

不喜歡預設的 Swagger 用戶端語法?希望支援其他語言?沒問題!

Swagger Codegen 使用 Handlebars.java 引擎處理 Handlebars 範本。您可以修改我們的範本或建立自己的範本。

請查看 swagger-codegen-generators 以取得範例。若要建立自己的範本,請建立您自己的檔案並使用 -t 旗標來指定您的範本資料夾。其實就這麼簡單!

建立您自己的 codegen 模組

如果您正在使用新語言開始專案,而且沒有看到您需要的東西,Swagger Codegen 可以協助您建立專案以產生自己的程式庫

終端機視窗
1
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
2
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen

這會在資料夾 output/myLibrary 中寫入您開始需要的所有檔案,包括 README.md。修改並編譯後,您可以使用 codegen 載入您的程式庫,並使用您自己自訂的邏輯產生用戶端。

然後您可以使用 mvn packageoutput/myLibrary 資料夾中編譯您的程式庫,並執行如下的 codegen

終端機視窗
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

對於 Windows 使用者,您需要在類別路徑中使用 ; 而不是 :,例如

終端機視窗
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar;modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

請注意,myClientCodegen 現在是一個選項,您可以使用常用的引數來產生您的程式庫

終端機視窗
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \
2
io.swagger.codegen.v3.cli.SwaggerCodegen generate -l myClientCodegen\
3
-i http://petstore.swagger.io/v2/swagger.json \
4
-o myClient

另請參閱 獨立產生器開發

從本機檔案產生用戶端

如果您不想呼叫您的伺服器,您可以將 OpenAPI 描述檔案儲存到目錄中,並將引數傳遞給程式碼產生器,如下所示

終端機視窗
1
-i ./modules/swagger-codegen/src/test/resources/2_0/petstore.json

非常適合在您的 CI 伺服器上,從 Swagger Editor 建立程式庫...或在飛機上編碼時 ✈️。