Skip to content

Latest commit

 

History

History

petstore

This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose.

This Java package is automatically generated by the OpenAPI JSON Schema Generator project:

  • OpenAPI document version: 1.0.0
  • Java Package version: 1.0.0
  • OpenAPI JSON Schema Generator, Generator: JavaClientGenerator

Requirements

  1. Java 17
  2. Gradle

Installation

To install the API client library to your local Maven repository, simply execute:

gradle wrapper
gradlew clean build

Gradle users

Add this dependency to your project's build file:

repositories {
    mavenCentral()     // Needed if the 'petstore' jar has been published to maven centra
    mavenLocal()       // Needed if the 'petstore' jar has been published to the local maven repo
}

dependencies {
     implementation "org.openapijsonschematools:petstore:1.0.0"
}

Usage Notes

Validation, Immutability, and Data Type

This Java code validates data to schema classes and return back an immutable instance containing the data. This ensure that

  • valid data cannot be mutated and become invalid to a set of schemas
    • the one exception is that files are not immutable, so schema instances storing/sending/receiving files are not immutable

Here is the mapping from json schema types to Java types:

Json Schema Type Java Base Class
object FrozenMap (Map)
array FrozenList (List)
string String
number Number (int, long, float, double)
integer int, long, float, double (with values equal to integers)
boolean boolean
null Void (null)
AnyType (unset) @Nullable Object

Storage of Json Schema Definition in Java JsonSchema Classes

In openapi v3.0.3 there are ~ 28 json schema keywords. Almost all of them can apply if type is unset. I have chosen to separate the storage of

  • json schema definition info
  • output classes for validated Map (json schema type object) payloads
  • output classes for validated List (json schema type array) payloads
Reason

This json schema data is stored in each class that is written for a schema, in a component or other openapi document location. This class is only responsible for storing schema info. Output classes like those that store map payloads are written separately and are returned by the JsonSchema.validate method when that method is passed in Map input. This prevents payload property access methods from colliding with json schema definition.

Json Schema Type Object

Most component schemas (models) are probably of type object. Which is a map data structure. Json schema allows string keys in this map, which means schema properties can have key names that are invalid Java variable names. Names like:

  • "hi-there"
  • "1variable"
  • "@now"
  • " "
  • "from"

To allow these use cases to work, FrozenMap (which extends AbstractMap) is used as the base class of type object schemas. This means that one can use normal Map methods on instances of these classes.

Other Details
  • getters are written for validly named required and optional properties
  • null is only allowed in as a value if type: "null" was included or nullable: true was set
    • because null is an allowed property value, it is not used to represent an unset property state
  • if an optional property is requested and it does not exist in the Map, an UnsetPropertyException is thrown

Json Schema Type + Format, Validated Data Storage

N schemas can be validated on the same payload. To allow multiple schemas to validate, the data must be stored using one base class whether or not a json schema format constraint exists in the schema.

In json schema, type: number with no format validates both integers and floats, so int and float values are stored for type number.

String + Date Example

For example the string payload '2023-12-20' is validates to both of these schemas:

  1. string only
- type: string
  1. string and date format
- type: string
  format: date

Because of use cases like this, a LocalDate is allowed as an input to this schema, but the data is stored as a string.

Getting Started

Please follow the installation procedure and then use the JsonSchema classes in org.openapijsonschematools.client.components.schemas to validate input payloads and instances of validated Map and List output classes. Json schemas allow multiple types for one schema, so a schema's validate method can have allowed input and output types.

Code Sample

import org.openapijsonschematools.client.configurations.ApiConfiguration;
import org.openapijsonschematools.client.configurations.SchemaConfiguration;
import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags;
import org.openapijsonschematools.client.exceptions.ValidationException;
import org.openapijsonschematools.client.exceptions.NotImplementedException;
import org.openapijsonschematools.client.exceptions.ApiException;
import org.openapijsonschematools.client.schemas.validation.MapUtils;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
import org.openapijsonschematools.client.RootServerInfo;
import org.openapijsonschematools.client.servers.RootServer0;
import org.openapijsonschematools.client.servers.RootServer1;
import org.openapijsonschematools.client.servers.RootServer2;
import org.openapijsonschematools.client.paths.solidus.get.responses.SolidusGetCode200Response;
import org.openapijsonschematools.client.servers.RootServerInfo;
import org.openapijsonschematools.client.apis.tags.Fake;
import org.openapijsonschematools.client.paths.solidus.get.SolidusGetResponses;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.AbstractMap;

// if you want to use a server that is not SERVER_0 pass it in here and change the ServerIndex input below
ApiConfiguration.ServerInfo serverInfo = new ApiConfiguration.ServerInfoBuilder()
    .rootServerInfo(
        new RootServerInfo.RootServerInfoBuilder()
            .rootServer0(new RootServer0())
            .build()
    )
    .build();
ApiConfiguration.ServerIndexInfo serverIndexInfo = new ApiConfiguration.ServerIndexInfoBuilder()
    .rootServerInfoServerIndex(RootServerInfo.ServerIndex.SERVER_0)
    .build();
Duration timeout = Duration.ofSeconds(1L);
Map<String, List<String>> defaultHeaders = Map.of("User-Agent", List.of("OpenAPI-JSON-Schema-Generator/1.0.0/java"));
ApiConfiguration apiConfiguration = new ApiConfiguration(
    serverInfo
    serverIndexInfo,
    timeout,
    defaultHeaders
);
SchemaConfiguration schemaConfiguration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
Fake apiClient = new Fake(apiConfiguration, schemaConfiguration);


var request = new SolidusGet.GetRequestBuilder().build();

SolidusGetResponses.EndpointResponse response;
try {
    response = apiClient.get(request);
} catch (ApiException e) {
    // server returned a response/contentType not defined in the openapi document
    throw e;
} catch (ValidationException e) {
    // the returned response body or header values do not conform the the schema validation requirements
    throw e;
} catch (IOException | InterruptedException e) {
    // an exception happened when making the request
    throw e;
} catch (NotImplementedException e) {
    // the request body serialization or deserialization has not yet been implemented
    // or the header content type deserialization has not yet been implemented for this contentType
    throw e;
}
SolidusGetResponses.EndpointSolidusGetCode200Response castResponse = (SolidusGetResponses.EndpointSolidusGetCode200Response) response;

Servers

server_index Class Description
0 RootServer0 petstore server
1 RootServer1 The local server
2 RootServer2 staging server with no variables

Component SecuritySchemes

Class Description
ApiKey apiKey in header
ApiKeyQuery apiKey in query
BearerTest http bearer with JWT bearer format
HttpBasicTest http basic
HttpSignatureTest http + signature
OpenIdConnectTest openIdConnect
PetstoreAuth oauth2 implicit flow with two scopes

Endpoints

All URIs are relative to the selected server

  • The server is selected by passing in serverInfo + serverIndexInfo into configurations.ApiConfiguration
  • The security info is selected by passing in securityInfo + securityIndexInfo into configurations.ApiConfiguration
  • serverIndex + securityIndex can also be passed in to endpoint calls, see endpoint documentation
HTTP request Methods Description
/ get Fake.slashRoute Solidus.get SolidusGet.Get.get slash route
/another-fake/dummy patch Anotherfake.model123TestSpecialTags Anotherfakedummy.patch AnotherfakedummyPatch.Patch.patch To test special tags
/commonParam/{subDir}/ delete Fake.deleteCommonParam Commonparamsubdir.delete CommonparamsubdirDelete.Delete.delete
/commonParam/{subDir}/ get Fake.getCommonParam Commonparamsubdir.get CommonparamsubdirGet.Get.get
/commonParam/{subDir}/ post Fake.postCommonParam Commonparamsubdir.post CommonparamsubdirPost.Post.post
/fake delete Fake.groupParameters Fake.delete FakeDelete.Delete.delete Fake endpoint to test group parameters (optional)
/fake get Fake.enumParameters Fake.get FakeGet.Get.get To test enum parameters
/fake patch Fake.clientModel Fake.patch FakePatch.Patch.patch To test "client" model
/fake post Fake.endpointParameters Fake.post FakePost.Post.post Fake endpoint for testing various parameters
假端點
偽のエンドポイント
가짜 엔드 포인트
/fake/additional-properties-with-array-of-enums get Fake.additionalPropertiesWithArrayOfEnums Fakeadditionalpropertieswitharrayofenums.get FakeadditionalpropertieswitharrayofenumsGet.Get.get Additional Properties with Array of Enums
/fake/body-with-file-schema put Fake.bodyWithFileSchema Fakebodywithfileschema.put FakebodywithfileschemaPut.Put.put
/fake/body-with-query-params put Fake.bodyWithQueryParams Fakebodywithqueryparams.put FakebodywithqueryparamsPut.Put.put
/fake/case-sensitive-params put Fake.caseSensitiveParams Fakecasesensitiveparams.put FakecasesensitiveparamsPut.Put.put
/fake/deleteCoffee/{id} delete Fake.deleteCoffee Fakedeletecoffeeid.delete FakedeletecoffeeidDelete.Delete.delete Delete coffee
/fake/health get Fake.fakeHealthGet Fakehealth.get FakehealthGet.Get.get Health check endpoint
/fake/inline-additionalProperties post Fake.inlineAdditionalProperties Fakeinlineadditionalproperties.post FakeinlineadditionalpropertiesPost.Post.post test inline additionalProperties
/fake/inlineComposition/ post Fake.inlineComposition Fakeinlinecomposition.post FakeinlinecompositionPost.Post.post testing composed schemas at inline locations
/fake/jsonFormData get Fake.jsonFormData Fakejsonformdata.get FakejsonformdataGet.Get.get test json serialization of form data
/fake/jsonPatch patch Fake.jsonPatch Fakejsonpatch.patch FakejsonpatchPatch.Patch.patch json patch
/fake/jsonWithCharset post Fake.jsonWithCharset Fakejsonwithcharset.post FakejsonwithcharsetPost.Post.post json with charset tx and rx
/fake/multipleRequestBodyContentTypes/ post Fake.multipleRequestBodyContentTypes Fakemultiplerequestbodycontenttypes.post FakemultiplerequestbodycontenttypesPost.Post.post testing composed schemas at inline locations
/fake/multipleResponseBodies get Fake.multipleResponseBodies Fakemultipleresponsebodies.get FakemultipleresponsebodiesGet.Get.get multiple responses have response bodies
/fake/multipleSecurities get Fake.multipleSecurities Fakemultiplesecurities.get FakemultiplesecuritiesGet.Get.get multiple security requirements
/fake/objInQuery get Fake.objectInQuery Fakeobjinquery.get FakeobjinqueryGet.Get.get user list
/fake/parameterCollisions/{1}/{aB}/{Ab}/{self}/{A-B}/ post Fake.parameterCollisions Fakeparametercollisions1ababselfab.post Fakeparametercollisions1ababselfabPost.Post.post parameter collision case
/fake/pemContentType get Fake.pemContentType Fakepemcontenttype.get FakepemcontenttypeGet.Get.get route with tx and rx pem content type
/fake/queryParamWithJsonContentType get Fake.queryParamWithJsonContentType Fakequeryparamwithjsoncontenttype.get FakequeryparamwithjsoncontenttypeGet.Get.get query param with json content-type
/fake/redirection get Fake.redirection Fakeredirection.get FakeredirectionGet.Get.get operation with redirection responses
/fake/refObjInQuery get Fake.refObjectInQuery Fakerefobjinquery.get FakerefobjinqueryGet.Get.get user list
/fake/refs/array-of-enums post Fake.arrayOfEnums Fakerefsarrayofenums.post FakerefsarrayofenumsPost.Post.post Array of Enums
/fake/refs/arraymodel post Fake.arrayModel Fakerefsarraymodel.post FakerefsarraymodelPost.Post.post
/fake/refs/boolean post Fake.modelBoolean Fakerefsboolean.post FakerefsbooleanPost.Post.post
/fake/refs/composed_one_of_number_with_validations post Fake.composedOneOfDifferentTypes Fakerefscomposedoneofnumberwithvalidations.post FakerefscomposedoneofnumberwithvalidationsPost.Post.post
/fake/refs/enum post Fake.stringEnum Fakerefsenum.post FakerefsenumPost.Post.post
/fake/refs/mammal post Fake.mammal Fakerefsmammal.post FakerefsmammalPost.Post.post
/fake/refs/number post Fake.numberWithValidations Fakerefsnumber.post FakerefsnumberPost.Post.post
/fake/refs/object_model_with_ref_props post Fake.objectModelWithRefProps Fakerefsobjectmodelwithrefprops.post FakerefsobjectmodelwithrefpropsPost.Post.post
/fake/refs/string post Fake.modelString Fakerefsstring.post FakerefsstringPost.Post.post
/fake/responseWithoutSchema get Fake.responseWithoutSchema Fakeresponsewithoutschema.get FakeresponsewithoutschemaGet.Get.get receives a response without schema
/fake/test-query-paramters put Fake.queryParameterCollectionFormat Faketestqueryparamters.put FaketestqueryparamtersPut.Put.put
/fake/uploadDownloadFile post Fake.uploadDownloadFile Fakeuploaddownloadfile.post FakeuploaddownloadfilePost.Post.post uploads a file and downloads a file using application/octet-stream
/fake/uploadFile post Fake.uploadFile Fakeuploadfile.post FakeuploadfilePost.Post.post uploads a file using multipart/form-data
/fake/uploadFiles post Fake.uploadFiles Fakeuploadfiles.post FakeuploadfilesPost.Post.post uploads files using multipart/form-data
/fake/wildCardResponses get Fake.wildCardResponses Fakewildcardresponses.get FakewildcardresponsesGet.Get.get operation with wildcard responses
/fake/{petId}/uploadImageWithRequiredFile post Pet.uploadFileWithRequiredFile Fakepetiduploadimagewithrequiredfile.post FakepetiduploadimagewithrequiredfilePost.Post.post uploads an image (required)
/fake_classname_test patch Fakeclassnametags123.classname Fakeclassnametest.patch FakeclassnametestPatch.Patch.patch To test class name in snake case
/foo get Default.fooGet Foo.get FooGet.Get.get
/pet post Pet.addPet Pet.post PetPost.Post.post Add a new pet to the store
/pet put Pet.updatePet Pet.put PetPut.Put.put Update an existing pet
/pet/findByStatus get Pet.findPetsByStatus Petfindbystatus.get PetfindbystatusGet.Get.get Finds Pets by status
/pet/findByTags get Pet.findPetsByTags Petfindbytags.get PetfindbytagsGet.Get.get Finds Pets by tags
/pet/{petId} delete Pet.deletePet Petpetid.delete PetpetidDelete.Delete.delete Deletes a pet
/pet/{petId} get Pet.getPetById Petpetid.get PetpetidGet.Get.get Find pet by ID
/pet/{petId} post Pet.updatePetWithForm Petpetid.post PetpetidPost.Post.post Updates a pet in the store with form data
/pet/{petId}/uploadImage post Pet.uploadImage Petpetiduploadimage.post PetpetiduploadimagePost.Post.post uploads an image
/store/inventory get Store.getInventory Storeinventory.get StoreinventoryGet.Get.get Returns pet inventories by status
/store/order post Store.placeOrder Storeorder.post StoreorderPost.Post.post Place an order for a pet
/store/order/{order_id} delete Store.deleteOrder Storeorderorderid.delete StoreorderorderidDelete.Delete.delete Delete purchase order by ID
/store/order/{order_id} get Store.getOrderById Storeorderorderid.get StoreorderorderidGet.Get.get Find purchase order by ID
/user post User.createUser User.post UserPost.Post.post Create user
/user/createWithArray post User.createUsersWithArrayInput Usercreatewitharray.post UsercreatewitharrayPost.Post.post Creates list of users with given input array
/user/createWithList post User.createUsersWithListInput Usercreatewithlist.post UsercreatewithlistPost.Post.post Creates list of users with given input array
/user/login get User.loginUser Userlogin.get UserloginGet.Get.get Logs user into the system
/user/logout get User.logoutUser Userlogout.get UserlogoutGet.Get.get Logs out current logged in user session
/user/{username} delete User.deleteUser Userusername.delete UserusernameDelete.Delete.delete Delete user
/user/{username} get User.getUserByName Userusername.get UserusernameGet.Get.get Get user by user name
/user/{username} put User.updateUser Userusername.put UserusernamePut.Put.put Updated user

Component Schemas

Class Description
Schema200Response.Schema200Response1 model with an invalid class name for python, starts with a number
AbstractStepMessage.AbstractStepMessage1 Abstract Step
AdditionalPropertiesClass.AdditionalPropertiesClass1
AdditionalPropertiesSchema.AdditionalPropertiesSchema1
AdditionalPropertiesWithArrayOfEnums.AdditionalPropertiesWithArrayOfEnums1
Address.Address1
Animal.Animal1
AnimalFarm.AnimalFarm1
AnyTypeAndFormat.AnyTypeAndFormat1
AnyTypeNotString.AnyTypeNotString1
ApiResponseSchema.ApiResponseSchema1
ArrayHoldingAnyType.ArrayHoldingAnyType1
ArrayOfArrayOfNumberOnly.ArrayOfArrayOfNumberOnly1
ArrayOfEnums.ArrayOfEnums1
ArrayOfNumberOnly.ArrayOfNumberOnly1
ArrayTest.ArrayTest1
ArrayWithValidationsInItems.ArrayWithValidationsInItems1
Bar.Bar1
BasquePig.BasquePig1
BooleanSchema.BooleanSchema1
BooleanEnum.BooleanEnum1
Capitalization.Capitalization1
Cat.Cat1
Category.Category1
ChildCat.ChildCat1
ClassModel.ClassModel1 Model for testing model with "_class" property
Client.Client1
ComplexQuadrilateral.ComplexQuadrilateral1
ComposedAnyOfDifferentTypesNoValidations.ComposedAnyOfDifferentTypesNoValidations1
ComposedArray.ComposedArray1
ComposedBool.ComposedBool1
ComposedNone.ComposedNone1
ComposedNumber.ComposedNumber1
ComposedObject.ComposedObject1
ComposedOneOfDifferentTypes.ComposedOneOfDifferentTypes1 this is a model that allows payloads of type object or number
ComposedString.ComposedString1
Currency.Currency1
DanishPig.DanishPig1
DateTimeTest.DateTimeTest1
DateTimeWithValidations.DateTimeWithValidations1
DateWithValidations.DateWithValidations1
DecimalPayload.DecimalPayload1
Dog.Dog1
Drawing.Drawing1
EnumArrays.EnumArrays1
EnumClass.EnumClass1
EnumTest.EnumTest1
EquilateralTriangle.EquilateralTriangle1
File.File1 Must be named `File` for test.
FileSchemaTestClass.FileSchemaTestClass1
Foo.Foo1
FormatTest.FormatTest1
FromSchema.FromSchema1
GrandparentAnimal.GrandparentAnimal1
HealthCheckResult.HealthCheckResult1 Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model.
IntegerEnum.IntegerEnum1
IntegerEnumBig.IntegerEnumBig1
IntegerEnumOneValue.IntegerEnumOneValue1
IntegerEnumWithDefaultValue.IntegerEnumWithDefaultValue1
IntegerMax10.IntegerMax101
IntegerMin15.IntegerMin151
IsoscelesTriangle.IsoscelesTriangle1
Items.Items1 component's name collides with the inner schema name
ItemsSchema.ItemsSchema1
JSONPatchRequest.JSONPatchRequest1
JSONPatchRequestAddReplaceTest.JSONPatchRequestAddReplaceTest1
JSONPatchRequestMoveCopy.JSONPatchRequestMoveCopy1
JSONPatchRequestRemove.JSONPatchRequestRemove1
MapTest.MapTest1
MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1
Money.Money1
MultiPropertiesSchema.MultiPropertiesSchema1
MyObjectDto.MyObjectDto1
Name.Name1 Model for testing model name same as property name
NoAdditionalProperties.NoAdditionalProperties1
NullableClass.NullableClass1
NullableShape.NullableShape1 The value may be a shape or the 'null' value. For a composed schema to validate a null payload, one of its chosen oneOf schemas must be type null or nullable (introduced in OAS schema >= 3.0)
NullableString.NullableString1
NumberSchema.NumberSchema1
NumberOnly.NumberOnly1
NumberWithExclusiveMinMax.NumberWithExclusiveMinMax1
NumberWithValidations.NumberWithValidations1
ObjWithRequiredProps.ObjWithRequiredProps1
ObjWithRequiredPropsBase.ObjWithRequiredPropsBase1
ObjectInterface.ObjectInterface1
ObjectModelWithArgAndArgsProperties.ObjectModelWithArgAndArgsProperties1
ObjectModelWithRefProps.ObjectModelWithRefProps1 a model that includes properties which should stay primitive (String + Boolean) and one which is defined as a class, NumberWithValidations
ObjectWithAllOfWithReqTestPropFromUnsetAddProp.ObjectWithAllOfWithReqTestPropFromUnsetAddProp1
ObjectWithCollidingProperties.ObjectWithCollidingProperties1 component with properties that have name collisions
ObjectWithDecimalProperties.ObjectWithDecimalProperties1
ObjectWithDifficultlyNamedProps.ObjectWithDifficultlyNamedProps1 model with properties that have invalid names for python
ObjectWithInlineCompositionProperty.ObjectWithInlineCompositionProperty1
ObjectWithInvalidNamedRefedProperties.ObjectWithInvalidNamedRefedProperties1
ObjectWithNonIntersectingValues.ObjectWithNonIntersectingValues1
ObjectWithOnlyOptionalProps.ObjectWithOnlyOptionalProps1
ObjectWithOptionalTestProp.ObjectWithOptionalTestProp1
ObjectWithValidations.ObjectWithValidations1
Order.Order1
PaginatedResultMyObjectDto.PaginatedResultMyObjectDto1
ParentPet.ParentPet1
Pet.Pet1 Pet object that needs to be added to the store
Pig.Pig1
Player.Player1 a model that includes a self reference this forces properties and additionalProperties to be lazy loaded in python models because the Player class has not fully loaded when defining properties
PublicKey.PublicKey1 schema that contains a property named key
Quadrilateral.Quadrilateral1
QuadrilateralInterface.QuadrilateralInterface1
ReadOnlyFirst.ReadOnlyFirst1
RefPet.RefPet1
ReqPropsFromExplicitAddProps.ReqPropsFromExplicitAddProps1
ReqPropsFromTrueAddProps.ReqPropsFromTrueAddProps1
ReqPropsFromUnsetAddProps.ReqPropsFromUnsetAddProps1
ReturnSchema.ReturnSchema1 Model for testing reserved words
ScaleneTriangle.ScaleneTriangle1
SelfReferencingArrayModel.SelfReferencingArrayModel1
SelfReferencingObjectModel.SelfReferencingObjectModel1
Shape.Shape1
ShapeOrNull.ShapeOrNull1 The value may be a shape or the 'null' value. This is introduced in OAS schema >= 3.1.
SimpleQuadrilateral.SimpleQuadrilateral1
SomeObject.SomeObject1
StringSchema.StringSchema1
StringBooleanMap.StringBooleanMap1
StringEnum.StringEnum1
StringEnumWithDefaultValue.StringEnumWithDefaultValue1
StringWithValidation.StringWithValidation1
Tag.Tag1
Triangle.Triangle1
TriangleInterface.TriangleInterface1
UUIDString.UUIDString1
User.User1
SpecialModelname.SpecialModelname1 model with an invalid class name for python
Apple.Apple1
AppleReq.AppleReq1
Banana.Banana1
BananaReq.BananaReq1
Fruit.Fruit1
FruitReq.FruitReq1
GmFruit.GmFruit1
HasOnlyReadOnly.HasOnlyReadOnly1
Mammal.Mammal1
Whale.Whale1
Zebra.Zebra1

Component RequestBodies

Class Description
Client.Client1 client model
Pet.Pet1 Pet object that needs to be added to the store, multiple content types
RefUserArray.RefUserArray1
UserArray.UserArray1 List of user object

Component Responses

Class Description
HeadersWithNoBody.HeadersWithNoBody1 A response that contains headers but no body
RefSuccessDescriptionOnly.RefSuccessDescriptionOnly1
RefSuccessfulXmlAndJsonArrayOfPet.RefSuccessfulXmlAndJsonArrayOfPet1
SuccessDescriptionOnly.SuccessDescriptionOnly1 Success
SuccessInlineContentAndHeader.SuccessInlineContentAndHeader1 successful operation
SuccessWithJsonApiResponse.SuccessWithJsonApiResponse1 successful operation
SuccessfulXmlAndJsonArrayOfPet.SuccessfulXmlAndJsonArrayOfPet1 successful operation, multiple content types

Component Headers

Class Description
Int32JsonContentTypeHeader.Int32JsonContentTypeHeader1 int32 JSON content-type header
NumberHeader.NumberHeader1 number header description
RefContentSchemaHeader.RefContentSchemaHeader1 int32 JSON content-type header
RefSchemaHeader.RefSchemaHeader1 header that has a ref in the schema
RefStringHeader.RefStringHeader1
StringHeader.StringHeader1 string header description

Component Parameters

Class Description
ComponentRefSchemaStringWithValidation.ComponentRefSchemaStringWithValidation1 a path string with validation
PathUserName.PathUserName1 the use name to use
RefPathUserName.RefPathUserName1
RefSchemaStringWithValidation.RefSchemaStringWithValidation1 a path string with validation