The processor will map identifiers used in the OpenAPI description (i.e. yaml file) to valid Java identifiers.

The Java identifiers will use camel case, starting with a upper case letter if it is a type name and a lower case letter if it is a variable name.

Camel case will be produced by detecting word breaks on special characters and using an upper case first letter on the next word. The special characters are:


For properties of model classes, the properties will be annotated with @JsonProperty to provide the mapping from the OpenAPI identifier to the Java identifier.

    class Example {

        private String fooBar;

        // ...

The @JsonProperty(…​) annotations are necessary in case a json property name is not a valid java identifier.

Any json identifier gets converted to a valid java identifier. If it differs from the json identifier Spring (jackson) would be unable to correctly map the properties.

To avoid this issue the processor adds the annotation.