Skip to content

Latest commit

 

History

History
executable file
·
47 lines (39 loc) · 2.14 KB

File metadata and controls

executable file
·
47 lines (39 loc) · 2.14 KB

Development

Java client is written using java7. Development environment requires java11+. Models generation based on openapi spec.

Generation

To regenerate models from openapi definition, clone latest open api definitions and use next command from the project root.

./update-models.sh

Generator configuration Features

  1. Two client generation modes have been added: strict (for client testing) and lenient (for release). In strict mode, the client will throw an exception if the types do not match or the required fields are missing; in lenient mode, error data will be output as a warning to the console. The templates for generating these modes are located in the generator-templates folder.
  2. When generating oneOf schemas, the generator creates its own abstract class, which does not look like it would like. The problem was solved by replacing the abstract generator class with ours using typeMappings in the generator config.
  3. The generator treats the discriminator value as a string, but in our case it's numbers. To solve this problem, changes have been made to the pojo.mustache template (for both modes).
  4. Disabled validation of additional JSON fields in the pojo.mustache template (for both modes).
  5. The generator replaces the list field with _list, solved using nameMappings in the generator config.
  6. By default, when the discriminator was unknown, the client threw an error. To avoid this, such models will be skipped. To solve this problem, changes have been made to the JSON.mustache template.

Problem solving

To solve new problems, use the generator settings (java, common) and templates.

Do not edit the generated files! They will be overwritten after generation!