swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
Json parsers like gson need setters for all non transient fields by default. But setters for readonly fields are missed in codegen. So json parser can to use only slow reflection to set value into private read only methods.
Easy way: Generate setters, but annotate fields as "read only".
Hard way: Let read_only fields final and generate custom constructors for it. Also need to generate deserialization for every library what invoke custom constructors while json parsing.
Description
Json parsers like gson need setters for all non transient fields by default. But setters for
readonly
fields are missed in codegen. So json parser can to use only slow reflection to set value into privateread only
methods.Swagger-codegen version
2.2.2-SNAPSHOT
Command line used for generation
Steps to reproduce
read_only for any fields
Related to
https://github.com/swagger-api/swagger-codegen/issues/2189
Suggest a Fix
Easy way: Generate setters, but annotate fields as "read only". Hard way: Let
read_only
fieldsfinal
and generate custom constructors for it. Also need to generate deserialization for every library what invoke custom constructors while json parsing.