When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.
definitions:
JustABoolean:
type: boolean
This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.
This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.
This functionality currenlty only applies to Java, but could be extended to
other languages later.
The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
swagger-petstore-jersey2
Requirements
Building the API client library requires Maven to be installed.
Installation
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.
Maven users
Add this dependency to your project's POM:
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-petstore-jersey2</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
Gradle users
Add this dependency to your project's build file:
compile "io.swagger:swagger-petstore-jersey2:1.0.0"
Others
At first generate the JAR by executing:
mvn package
Then manually install the following JARs:
- target/swagger-petstore-jersey2-1.0.0.jar
- target/lib/*.jar
Getting Started
Please follow the installation instruction and execute the following Java code:
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.FakeApi;
import java.io.File;
import java.util.*;
public class FakeApiExample {
public static void main(String[] args) {
FakeApi apiInstance = new FakeApi();
Client body = new Client(); // Client | client model
try {
Client result = apiInstance.testClientModel(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FakeApi#testClientModel");
e.printStackTrace();
}
}
}
Documentation for API Endpoints
All URIs are relative to http://petstore.swagger.io/v2
| Class | Method | HTTP request | Description |
|---|---|---|---|
| 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 |
| 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 |
| StoreApi | deleteOrder | DELETE /store/order/{orderId} | Delete purchase order by ID |
| StoreApi | getInventory | GET /store/inventory | Returns pet inventories by status |
| StoreApi | getOrderById | GET /store/order/{orderId} | 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
- AdditionalPropertiesClass
- Animal
- AnimalFarm
- ArrayOfArrayOfNumberOnly
- ArrayOfNumberOnly
- ArrayTest
- Cat
- Category
- Client
- Dog
- EnumArrays
- EnumClass
- EnumTest
- FormatTest
- HasOnlyReadOnly
- MapTest
- MixedPropertiesAndAdditionalPropertiesClass
- Model200Response
- ModelApiResponse
- ModelReturn
- Name
- NumberOnly
- Order
- Pet
- ReadOnlyFirst
- SpecialModelName
- Tag
- User
Documentation for Authorization
Authentication schemes defined for the API:
api_key
- Type: API key
- API key parameter name: api_key
- Location: HTTP header
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.