* [core] Refactor templating management This refactors template management to get logic out of DefaultGenerator and to provide a cleaner API to template search and read/compile. Deprecates MockDefaultGenerator, which is not a mock and causes in-memory retention of file contents. Maintainers should prefer executing a "dryRun" with new DefaultGenerator(true) or do true mock/spies if evaluating template intermediaries is truly necessary. Tests may read written files with lower overhead than the in-process retention of those bytes. This attempts to maintain some compatibility with existing templating adapter interfaces. Any breaking change here would be unintentional but minimal effort to retarget the new interface. * Tests for dry run file outputs * Update API usage in Meta, test TemplateManager * Wait on lastModified, lookup by filename in SpringCodegenTest * Test DefaultGenerator + ignore file * Move config.processOpenAPI in DefaultGenerator * Fix wrong use of libraries templateDirector (java) The samples scripts for Java incorrectly referenced the libraries directories directly rather than the upper-level Java directory. This was incorrect usage of template directories, because the generator expects to be given the "language" directory and perform a lookup for missing templates in the order: * user defined libraries directory * user defined language root * embedded libraries directory * embedded language root * _common directory This is incorrect in our samples scripts because a user or maintainer has the expectation that any template change to files at the Java/ root should also be honored on generation if the script specifies a custom template directory. * Fix handlebars extension usage, clean up Meta tasks HandlebarseEngineAdapter previously didn't handle files without extensions in the same was as the MustacheEngineAdapter. This now allows for files without extension (or dotfiles) to lookup in the same location. Meta tasks are cleaned up to use template manager only, rather than attempting to create an "empty" generator to use the previous templating specific methods. * Update kotlin-multiplatform gradle wrapper * Rename GraphQL .gitignore template The .gitignore file is unable to load via classpath resource from the graphql node server resource directory (for unknown reasons). Before this change, the missing template would fail silently. A .gitignore file may exist in other directories and load as expected. Added a default .gitignore to _common as a fallback so as not to break any custom generators which may also be failing silently. * Log entire stacktrace in go sdk built by gradle in AppVeyor * Rename PHP .gitignore to gitignore Java resources may not load .gitignore, this follows suit with other generators and uses "gitignore" (some use "gitignore.mustache"). * [php] Rename .gitignore templates to gitignore * Use same classpath lookup in common locator * [rust] Properly escape empty triple-braces * [samples] Regenerate
petstore-webclient
OpenAPI Petstore
- API version: 1.0.0
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: " \
Automatically generated by the OpenAPI Generator
Requirements
Building the API client library requires:
- Java 1.8+
- Maven/Gradle
Installation
To install the API client library to your local Maven repository, simply execute:
mvn clean install
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deploy
Refer to the OSSRH Guide for more information.
Maven users
Add this dependency to your project's POM:
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>petstore-webclient</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
Gradle users
Add this dependency to your project's build file:
compile "org.openapitools:petstore-webclient:1.0.0"
Others
At first generate the JAR by executing:
mvn clean package
Then manually install the following JARs:
target/petstore-webclient-1.0.0.jar
target/lib/*.jar
Getting Started
Please follow the installation instruction and execute the following Java code:
import org.openapitools.client.*;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.api.AnotherFakeApi;
public class AnotherFakeApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://petstore.swagger.io:80/v2");
AnotherFakeApi apiInstance = new AnotherFakeApi(defaultClient);
Client body = new Client(); // Client | client model
try {
Client result = apiInstance.call123testSpecialTags(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnotherFakeApi#call123testSpecialTags");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Documentation for API Endpoints
All URIs are relative to http://petstore.swagger.io:80/v2
Class | Method | HTTP request | Description |
---|---|---|---|
AnotherFakeApi | call123testSpecialTags | PATCH /another-fake/dummy | To test special tags |
FakeApi | createXmlItem | POST /fake/create_xml_item | creates an XmlItem |
FakeApi | fakeOuterBooleanSerialize | POST /fake/outer/boolean | |
FakeApi | fakeOuterCompositeSerialize | POST /fake/outer/composite | |
FakeApi | fakeOuterNumberSerialize | POST /fake/outer/number | |
FakeApi | fakeOuterStringSerialize | POST /fake/outer/string | |
FakeApi | testBodyWithFileSchema | PUT /fake/body-with-file-schema | |
FakeApi | testBodyWithQueryParams | PUT /fake/body-with-query-params | |
FakeApi | testClientModel | PATCH /fake | To test "client" model |
FakeApi | testEndpointParameters | POST /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 |
FakeApi | testEnumParameters | GET /fake | To test enum parameters |
FakeApi | testGroupParameters | DELETE /fake | Fake endpoint to test group parameters (optional) |
FakeApi | testInlineAdditionalProperties | POST /fake/inline-additionalProperties | test inline additionalProperties |
FakeApi | testJsonFormData | GET /fake/jsonFormData | test json serialization of form data |
FakeApi | testQueryParameterCollectionFormat | PUT /fake/test-query-paramters | |
FakeClassnameTags123Api | testClassname | PATCH /fake_classname_test | To test class name in snake case |
PetApi | addPet | POST /pet | Add a new pet to the store |
PetApi | deletePet | DELETE /pet/{petId} | Deletes a pet |
PetApi | findPetsByStatus | GET /pet/findByStatus | Finds Pets by status |
PetApi | findPetsByTags | GET /pet/findByTags | Finds Pets by tags |
PetApi | getPetById | GET /pet/{petId} | Find pet by ID |
PetApi | updatePet | PUT /pet | Update an existing pet |
PetApi | updatePetWithForm | POST /pet/{petId} | Updates a pet in the store with form data |
PetApi | uploadFile | POST /pet/{petId}/uploadImage | uploads an image |
PetApi | uploadFileWithRequiredFile | POST /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) |
StoreApi | deleteOrder | DELETE /store/order/{order_id} | Delete purchase order by ID |
StoreApi | getInventory | GET /store/inventory | Returns pet inventories by status |
StoreApi | getOrderById | GET /store/order/{order_id} | Find purchase order by ID |
StoreApi | placeOrder | POST /store/order | Place an order for a pet |
UserApi | createUser | POST /user | Create user |
UserApi | createUsersWithArrayInput | POST /user/createWithArray | Creates list of users with given input array |
UserApi | createUsersWithListInput | POST /user/createWithList | Creates list of users with given input array |
UserApi | deleteUser | DELETE /user/{username} | Delete user |
UserApi | getUserByName | GET /user/{username} | Get user by user name |
UserApi | loginUser | GET /user/login | Logs user into the system |
UserApi | logoutUser | GET /user/logout | Logs out current logged in user session |
UserApi | updateUser | PUT /user/{username} | Updated user |
Documentation for Models
- AdditionalPropertiesAnyType
- AdditionalPropertiesArray
- AdditionalPropertiesBoolean
- AdditionalPropertiesClass
- AdditionalPropertiesInteger
- AdditionalPropertiesNumber
- AdditionalPropertiesObject
- AdditionalPropertiesString
- Animal
- ArrayOfArrayOfNumberOnly
- ArrayOfNumberOnly
- ArrayTest
- BigCat
- BigCatAllOf
- Capitalization
- Cat
- CatAllOf
- Category
- ClassModel
- Client
- Dog
- DogAllOf
- EnumArrays
- EnumClass
- EnumTest
- FileSchemaTestClass
- FormatTest
- HasOnlyReadOnly
- MapTest
- MixedPropertiesAndAdditionalPropertiesClass
- Model200Response
- ModelApiResponse
- ModelReturn
- Name
- NumberOnly
- Order
- OuterComposite
- OuterEnum
- Pet
- ReadOnlyFirst
- SpecialModelName
- Tag
- TypeHolderDefault
- TypeHolderExample
- User
- XmlItem
Documentation for Authorization
Authentication schemes defined for the API:
api_key
- Type: API key
- API key parameter name: api_key
- Location: HTTP header
api_key_query
- Type: API key
- API key parameter name: api_key_query
- Location: URL query string
http_basic_test
- Type: HTTP basic authentication
petstore_auth
- Type: OAuth
- Flow: implicit
- Authorization URL: http://petstore.swagger.io/api/oauth/dialog
- Scopes:
- write:pets: modify pets in your account
- read:pets: read your pets
Recommendation
It's recommended to create an instance of ApiClient
per thread in a multithreaded environment to avoid any potential issues.