Add null type only test to Java okhttp-gson client

Merged
WI
2mo ago
+47-3

PR checklist

  • Read the contribution guidelines.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

Summary by cubic

Adds a null-only schema property to the Java okhttp-gson 3.1 petstore sample to validate OpenAPI 3.1 type: null handling. This ensures the generator emits a nullable Object field and includes it in equality, hashing, and field validation.

  • Spec: adds second_property with type: null and description "just null type".
  • Model PetWithTypesObjectNullAndRef: new secondProperty (Object, @javax.annotation.Nullable), included in equals, hashCode, toString, and openapiFields.
  • Docs: PetWithTypesObjectNullAndRef now lists secondProperty as optional Object with the description.
  • Adds JsonNullable helpers; they are not used and do not change behavior.

Review Notes

  • Focus on generated Java for okhttp-gson to confirm type: null maps to a nullable Object and passes validation.
  • Regenerate samples to verify outputs stay consistent across generators.