Justin Black d4b8ff60a1
[Java] Fixes schema class type booleans for composed schemas (#10334)
* Adds get/setIsString interface to IJsonSchemaValidationProperties

* Adds get/set isNumber interface in IJsonSchemaValidationProperties

* Adds get/set isAnyType in IJsonSchemaValidationProperties

* Adds and uses ModelUtils.isAnyType, adds setTypeProperties

* Adds missing descriptions of isAnyType parameters

* Uses ModelUtils.isAnyType

* Samples regenerated

* Moves isArray handling higher up in fromProperty

* Moves isAnyTypeSchema handling higher up in fromProperty

* Moves isFreeFormObject handling higher up in fromProperty

* Refactors fromProperties, updates tests

* Fixes the fromProperty refactor, tests now pass

* Uses setTypeProperties to set isNumber, isNull, isArray, and isUnboundedInteger

* Sets isAnyType in setTypeProperties

* Sets isMap in setTypeProperties

* Sets property.isPrimitiveType in isFreeFormObject, tweaks if condition order

* Adds fix for JavaClientCodegenTest.testJdkHttpClientWithAndWithoutDiscriminator

* Refactors fromProperty

* Adds updatePropertyForObject updatePropertyForAnyType

* Sets binary and file types to not be strings

* Updates samples

* Adds updatePropertyForString

* Adds testComposedPropertyTypes

* Fixes python test

* Samples updated

* Switches all isAnyTypeSchema usages to ModelUtils.isAnyType

* Refactors model enum handling higher up

* Moves m.dataType assignent higher into fromModel

* Moves m.isNullable setting higher into isModel

* Adds updateModelForComposedSchema

* Further fromModel refactoring, all schema checks are now at the same indentation level

* Further refactors fromModel, adds isTypeObjectSchema block

* Moves addVars into anyType or objectType blocks in fromModel

* Turns off isNullable n isAnyType array

* Fixes typescript CodegenParameers

* Adds updatePropertyForAnyType to typescript-axios so property.isNullable will be false for AnyType

* Adds testComposedModelTypes

* Updates ComposedAnyType schema

* Fixes tests for JavaJAXRSCXF by adding updateModelForObject method

* Updates go and csharp to handle object model differently

* Adds updateModelForAnyType

* Fixes name reference

* Adds testComposedResponseTypes

* Refactoring fromResponse

* Further refactoring of fromResponse

* Uses setTypeProperties in fromResponse

* Tests now pass for testComposedResponseTypes

* Sets COdegenResponse dataType using getTypeDeclaration

* Begins refactoring of fromRequestBody

* Adds updateResponseBodyForPrimitiveType

* Adds all needed type if else blocks in fromRequestBody

* Fixes JavaJAXRSCXFExtServerCodegenTests

* Fixes RubyClientCodegenTests

* Adds fixes for clients that need custom isMap for body parameters

* Ruby broken, samples regened, debugging

* Adds updateRequestBodyForArray, renames updateRequest.. methods

* Samples regenerated

* Removes changes from Ruby generator

* Reverts RubyClientCodegen.java

* Reverts changes to GoClientCodegen.java

* Reverts PowerShellClientCodegen.java

* Reverts CrystalClientCodegen.java

* Removes updateRequestBodyForObject from JavaCXFServerCodegen.java

* Adds comment about refed models

* Tweaks made to fromProperties to add an explanatory comment

* Updates RustServer to have ByteArray request bodies not be strings

* Sets types in fromFormProperty

* Adds testComposedRequestBodyTypes

* Fixes when validation syncing is done in syncValidationProperties

* Removes redundant validation code from fromParameter

* Moves parameter inX setting higher up before schema logic in fromParameter

* More refactoring in fromParameter, uses early return to reduce levels of indentation

* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForArray

* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForObject

* Removes setParameterBooleanFlagWithCodegenProperty from  updateRequestBodyForPrimitiveType

* Removes setParameterBooleanFlagWithCodegenProperty from updateRequestBodyForMap

* Removes setParameterBooleanFlagWithCodegenProperty from addBodyModelSchema

* Removes setParameterBooleanFlagWithCodegenProperty from fromFormProperty

* Refactors parameter array handling code into fromFormProperty

* Simplifies fromRequestBodyToFormParameters

* Removes setParameterBooleanFlagWithCodegenProperty from fromParameter

* Adds deprecated docstring to setParameterBooleanFlagWithCodegenProperty

* Refactors ModelUtils.isFileSchema out of string schema check

* Removes ModelUtils.isFileSchema from RustServer updateRequestBodyForString

* Improves comment text

* Fixes RustServer uuid type setting for CodegenParameter

* Removes unneeded parens

* Fixes array property examples

* Removes unused code

* Renames variable to itemsProperty

* Adds testComposedRequestQueryParamTypes

* Adds updatePropertyForAnyType to rustserver will not have changed model properties

* Hoists arrayInnerProperty._enum into parameter for html2 generator

* Moves turning string type off into the codegen files

* Adds two more missing locations in rustserver

* Moves addVarsRequiredVarsAdditionalProps into anytype and objecttype handling

* More refactoring of where addVarsRequiredVarsAdditionalProps is used

* Samples regenerated
2021-09-27 16:12:40 -07:00
..
2021-09-23 14:29:33 +08:00
2021-09-09 12:49:03 +08:00
2021-03-27 18:47:57 +08:00
2020-05-26 09:55:00 +08:00

open_api_petstore

OpenApiPetstore - JavaScript client for open_api_petstore This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: " \ This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.JavascriptClientCodegen

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install open_api_petstore --save

Finally, you need to build the module:

npm run build
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

To use the link you just defined in your project, switch to the directory you want to use your open_api_petstore from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

Finally, you need to build the module:

npm run build

git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var OpenApiPetstore = require('open_api_petstore');


var api = new OpenApiPetstore.AnotherFakeApi()
var client = new OpenApiPetstore.Client(); // {Client} client model
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.call123testSpecialTags(client, callback);

Documentation for API Endpoints

All URIs are relative to http://petstore.swagger.io:80/v2

Class Method HTTP request Description
OpenApiPetstore.AnotherFakeApi call123testSpecialTags PATCH /another-fake/dummy To test special tags
OpenApiPetstore.DefaultApi fooGet GET /foo
OpenApiPetstore.FakeApi fakeHealthGet GET /fake/health Health check endpoint
OpenApiPetstore.FakeApi fakeHttpSignatureTest GET /fake/http-signature-test test http signature authentication
OpenApiPetstore.FakeApi fakeOuterBooleanSerialize POST /fake/outer/boolean
OpenApiPetstore.FakeApi fakeOuterCompositeSerialize POST /fake/outer/composite
OpenApiPetstore.FakeApi fakeOuterNumberSerialize POST /fake/outer/number
OpenApiPetstore.FakeApi fakeOuterStringSerialize POST /fake/outer/string
OpenApiPetstore.FakeApi fakePropertyEnumIntegerSerialize POST /fake/property/enum-int
OpenApiPetstore.FakeApi testBodyWithBinary PUT /fake/body-with-binary
OpenApiPetstore.FakeApi testBodyWithFileSchema PUT /fake/body-with-file-schema
OpenApiPetstore.FakeApi testBodyWithQueryParams PUT /fake/body-with-query-params
OpenApiPetstore.FakeApi testClientModel PATCH /fake To test &quot;client&quot; model
OpenApiPetstore.FakeApi testEndpointParameters POST /fake Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
OpenApiPetstore.FakeApi testEnumParameters GET /fake To test enum parameters
OpenApiPetstore.FakeApi testGroupParameters DELETE /fake Fake endpoint to test group parameters (optional)
OpenApiPetstore.FakeApi testInlineAdditionalProperties POST /fake/inline-additionalProperties test inline additionalProperties
OpenApiPetstore.FakeApi testJsonFormData GET /fake/jsonFormData test json serialization of form data
OpenApiPetstore.FakeApi testQueryParameterCollectionFormat PUT /fake/test-query-parameters
OpenApiPetstore.FakeClassnameTags123Api testClassname PATCH /fake_classname_test To test class name in snake case
OpenApiPetstore.PetApi addPet POST /pet Add a new pet to the store
OpenApiPetstore.PetApi deletePet DELETE /pet/{petId} Deletes a pet
OpenApiPetstore.PetApi findPetsByStatus GET /pet/findByStatus Finds Pets by status
OpenApiPetstore.PetApi findPetsByTags GET /pet/findByTags Finds Pets by tags
OpenApiPetstore.PetApi getPetById GET /pet/{petId} Find pet by ID
OpenApiPetstore.PetApi updatePet PUT /pet Update an existing pet
OpenApiPetstore.PetApi updatePetWithForm POST /pet/{petId} Updates a pet in the store with form data
OpenApiPetstore.PetApi uploadFile POST /pet/{petId}/uploadImage uploads an image
OpenApiPetstore.PetApi uploadFileWithRequiredFile POST /fake/{petId}/uploadImageWithRequiredFile uploads an image (required)
OpenApiPetstore.StoreApi deleteOrder DELETE /store/order/{order_id} Delete purchase order by ID
OpenApiPetstore.StoreApi getInventory GET /store/inventory Returns pet inventories by status
OpenApiPetstore.StoreApi getOrderById GET /store/order/{order_id} Find purchase order by ID
OpenApiPetstore.StoreApi placeOrder POST /store/order Place an order for a pet
OpenApiPetstore.UserApi createUser POST /user Create user
OpenApiPetstore.UserApi createUsersWithArrayInput POST /user/createWithArray Creates list of users with given input array
OpenApiPetstore.UserApi createUsersWithListInput POST /user/createWithList Creates list of users with given input array
OpenApiPetstore.UserApi deleteUser DELETE /user/{username} Delete user
OpenApiPetstore.UserApi getUserByName GET /user/{username} Get user by user name
OpenApiPetstore.UserApi loginUser GET /user/login Logs user into the system
OpenApiPetstore.UserApi logoutUser GET /user/logout Logs out current logged in user session
OpenApiPetstore.UserApi updateUser PUT /user/{username} Updated user

Documentation for Models

Documentation for Authorization

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

bearer_test

  • Type: Bearer authentication (JWT)

http_basic_test

  • Type: HTTP basic authentication

http_signature_test

petstore_auth