openapi-generator/samples/client/petstore/spring-http-interface-reactive
Andriy Slobodyanyk cba756ffa6
Adds @Nullable annotation to Spring Boot generator (#20345)
* Adds @Nullable annotation to Spring Boot generator

* issue-14427: [REQ][spring] Null-Safety annotations
* issue-17382: [REQ] spring generator add Nullable annotations

Motivations:
* Have Spring Boot generator client properly annotated for nullability to be able to check code using them with tools like NullAway
* As it is related to Spring then the `org.springframework.lang.Nullable` annotation was chosen to avoid discussion which `@Nullable` one is true one
* `@NonNull` wasn't used as I didn't see much benefit of it. Anyhow, an empty constructor and/or setters allow to put a `null` value there

Modifications:
* Adds nullableAnnotation template to handle nullability annotation on vars
* Adjust pojo templates to use the nullability template
* Adapts tests

Modifications:
* Runs export_docs_generator.sh script to update samples

* samples update

* excludes Spring @Nullable from java-camel

* ones with defaults shouldn't be annotated as @Nullable

* updates samples

* adds AllArgConstructor generation tests

* adds container tests
2025-01-06 20:08:01 +08:00
..

OpenAPI generated API stub

Spring Framework 6 HTTP Interface

Overview

This code was generated by the OpenAPI Generator project. By using the OpenAPI-Spec, you can easily generate an API stub. This is an example of building API stub interfaces in Java using the Spring framework.

The stubs generated can be used in your existing Spring application for HTTP integration with other REST services To use auto-generated interfaces you have to create your own configuration which extends default abstract configurator & provide WebClient instance via constructor

@Configuration
public class MyConfiguration extends org.openapitools.configuration.HttpInterfacesAbstractConfigurator {

    public MyConfiguration(WebClient myWebClient) { // separately created WebClient instance
        super(myWebClient);
    }
}