swagger-api / swagger-codegen

swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
http://swagger.io
Apache License 2.0
17.05k stars 6.03k forks source link

What is the difference between this project/repo and github.com/OpenAPITools/openapi-generator ? #12467

Open veqryn opened 2 months ago

veqryn commented 2 months ago
Description

I have been trying out all the open api generators for Golang that I can find, and I noticed that the client sdk created by this project (swagger-codegen) is basically identical to the client sdk created by OpenAPITools/openapi-generator There was a slight different in the names of a few functions. And the golang code created by swagger-codegen would not compile because it forgot to generate one of the models it needed. But other than, it was basically identical.

Is one of the projects a fork of the other? Are both under active development?

Swagger-codegen version

3.0.61

Swagger declaration file content or url

https://github.com/veqryn/awesome-go-api/blob/main/openapiv3/openapi_v3.0.3.yaml

Command line used for generation

swagger-codegen-cli generate -i openapi_v3.0.3.yaml -l go -o ./swagger_codegen/go/gen/

Steps to reproduce

Swagger Golang Client: https://github.com/veqryn/awesome-go-api/blob/main/openapiv3/swagger_codegen/go/main.go (ModelMap was never generated, though it is referenced by the generated ModelError struct)

OpenAPITools Golang Client: https://github.com/veqryn/awesome-go-api/blob/main/openapiv3/openapi_generator/go/client/main.go

Suggest a fix/enhancement

Clarify the difference between the projects. (and fix the bug)

Lenormju commented 1 month ago

cf OpenAPITools/openapi-generator/README.md section "6.3 - History of OpenAPI Generator") :

OpenAPI Generator is a fork of Swagger Codegen. In view of the issues with the Swagger Codegen 3.0.0 (beta) release and the disagreement on the project's direction, more than 40 top contributors and template creators of Swagger Codegen decided to fork Swagger Codegen and maintain a community-driven version called "OpenAPI Generator". Please refer to the Q&A for more information.

So https://github.com/OpenAPITools/openapi-generator has been forked from https://github.com/swagger-api/swagger-codegen/ .

ponelat commented 1 month ago

Yup, OpenAPI Generator is a fork and both projects are active and have varying support for the different languages. The underlying parser/core is the same but the glue code and templates may differ. Will keep this ticket open for the Go-lang issue you've spotted @veqryn