forked from loafle/openapi-generator-original
Refs #3358 Ensure `deprecated` operations are annotated/documented as such on the generated methods. Libraries updated: * [feign] * [google-api-client] * [microprofile] * [okhttp-gson] * [resttemplate] * [retrofit] * [retrofit/play*] * [webclient] * [vertx] Ensure `deprecated` schemas are annotated/documented as such on the generated classes/fields. Libraries updated: * [feign] * [google-api-client] * [jersey2] * [microprofile] * [native] * [okhttp-gson] * [rest-assured] * [resteasy] * [resttemplate] * [retrofit*] * [webclient] * [vertx] Also fix two minor bugs to get the java sample tests working: * Fix an invalid jackson-datatype-threetenbp version number in vertx/pom.mustache * Fix a bad return type in webclient/api_test.mustache when uniqueItems=true Since this commit updates petstore-with-fake-endpoints-models-for-testing.yaml, several other samples were updated, but it's just new files to reflect the deprecated schemas, so there should be no consequential differences. Relevant bits of the spec: * https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-operationdeprecated * https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#user-content-schemadeprecated
petstore-feign-openapi3
Requirements
Building the API client library requires Maven to be installed.
Installation & Usage
To install the API client library to your local Maven repository, simply execute:
mvn install
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn deploy
Refer to the official documentation for more information.
After the client library is installed/deployed, you can use it in your Maven project by adding the following to your pom.xml:
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>petstore-feign-openapi3</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
And to use the api you can follow the examples bellow:
//Set bearer token manually
ApiClient apiClient = new ApiClient("petstore_auth_client");
apiClient.setBasePath("https://localhost:8243/petstore/1/");
apiClient.setAccessToken("TOKEN", 10000);
//Use api key
ApiClient apiClient = new ApiClient("api_key", "API KEY");
apiClient.setBasePath("https://localhost:8243/petstore/1/");
//Use http basic authentication
ApiClient apiClient = new ApiClient("basicAuth");
apiClient.setBasePath("https://localhost:8243/petstore/1/");
apiClient.setCredentials("username", "password");
//Oauth password
ApiClient apiClient = new ApiClient("oauth_password");
apiClient.setBasePath("https://localhost:8243/petstore/1/");
apiClient.setOauthPassword("username", "password", "client_id", "client_secret");
//Oauth client credentials flow
ApiClient apiClient = new ApiClient("oauth_client_credentials");
apiClient.setBasePath("https://localhost:8243/petstore/1/");
apiClient.setClientCredentials("client_id", "client_secret");
PetApi petApi = apiClient.buildClient(PetApi.class);
Pet petById = petApi.getPetById(12345L);
System.out.println(petById);
}
Recommendation
It's recommended to create an instance of ApiClient
per thread in a multithreaded environment to avoid any potential issues.