Swagger Codegen 產生器
如果預設的產生器組態不符合您的需求,您可以使用各種選項來修改或建立新的模組或範本。
修改用戶端程式庫格式
不喜歡預設的 Swagger 用戶端語法?希望支援其他語言?沒問題!
Swagger Codegen 使用 Handlebars.java 引擎處理 Handlebars 範本。您可以修改我們的範本或建立自己的範本。
請查看 swagger-codegen-generators 以取得範例。若要建立自己的範本,請建立您自己的檔案並使用 -t
旗標來指定您的範本資料夾。其實就這麼簡單!
建立您自己的 codegen 模組
如果您正在使用新語言開始專案,而且沒有看到您需要的東西,Swagger Codegen 可以協助您建立專案以產生自己的程式庫
1java -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 package
在 output/myLibrary
資料夾中編譯您的程式庫,並執行如下的 codegen
1java -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 使用者,您需要在類別路徑中使用 ;
而不是 :
,例如
1java -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
現在是一個選項,您可以使用常用的引數來產生您的程式庫
1java -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 建立程式庫...或在飛機上編碼時 ✈️。