diff --git a/.github/workflows/samples-spring.yaml b/.github/workflows/samples-spring.yaml index 104e244a112..0ba66f74a5e 100644 --- a/.github/workflows/samples-spring.yaml +++ b/.github/workflows/samples-spring.yaml @@ -22,9 +22,10 @@ jobs: - samples/openapi3/client/petstore/spring-cloud - samples/client/petstore/spring-cloud-date-time - samples/openapi3/client/petstore/spring-cloud-date-time - - samples/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs-skip-default-interface + - samples/openapi3/client/petstore/spring-cloud-async + - samples/openapi3/client/petstore/spring-cloud-spring-pageable # servers - samples/server/petstore/springboot - samples/openapi3/server/petstore/springboot @@ -41,6 +42,10 @@ jobs: - samples/openapi3/server/petstore/spring-boot-oneof - samples/server/petstore/springboot-virtualan - samples/server/petstore/springboot-implicitHeaders-annotationLibrary + - samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8 + - samples/server/petstore/springboot-spring-pageable-delegatePattern + - samples/server/petstore/springboot-spring-pageable-without-j8 + - samples/server/petstore/springboot-spring-pageable steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 diff --git a/bin/configs/spring-cloud-async-oas3.yaml b/bin/configs/spring-cloud-async-oas3.yaml index 59c9d22e695..01e4dc6ce4d 100644 --- a/bin/configs/spring-cloud-async-oas3.yaml +++ b/bin/configs/spring-cloud-async-oas3.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/openapi3/client/petstore/spring-cloud-async library: spring-cloud -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: groupId: org.openapitools.openapi3 diff --git a/bin/configs/spring-cloud-async.yaml b/bin/configs/spring-cloud-async.yaml deleted file mode 100644 index b14f654366f..00000000000 --- a/bin/configs/spring-cloud-async.yaml +++ /dev/null @@ -1,11 +0,0 @@ -generatorName: spring -outputDir: samples/client/petstore/spring-cloud-async -library: spring-cloud -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/JavaSpring -additionalProperties: - documentationProvider: springfox - async: "true" - java8: "true" - artifactId: petstore-spring-cloud - hideGenerationTimestamp: "true" diff --git a/bin/configs/spring-cloud-petstore-feign-spring-pageable-oas3.yaml b/bin/configs/spring-cloud-petstore-feign-spring-pageable-oas3.yaml index 02c96627b64..b130111f0e0 100644 --- a/bin/configs/spring-cloud-petstore-feign-spring-pageable-oas3.yaml +++ b/bin/configs/spring-cloud-petstore-feign-spring-pageable-oas3.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/openapi3/client/petstore/spring-cloud-spring-pageable library: spring-cloud -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-spring-pageable.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-spring-pageable.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: groupId: org.openapitools.openapi3 diff --git a/bin/configs/spring-cloud-petstore-feign-spring-pageable.yaml b/bin/configs/spring-cloud-petstore-feign-spring-pageable.yaml deleted file mode 100644 index 506a1c53be6..00000000000 --- a/bin/configs/spring-cloud-petstore-feign-spring-pageable.yaml +++ /dev/null @@ -1,9 +0,0 @@ -generatorName: spring -outputDir: samples/client/petstore/spring-cloud-spring-pageable -library: spring-cloud -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-spring-pageable.yaml -templateDir: modules/openapi-generator/src/main/resources/JavaSpring -additionalProperties: - documentationProvider: springfox - artifactId: spring-cloud-spring-pageable - hideGenerationTimestamp: 'true' diff --git a/bin/configs/spring-stubs-oas3.yaml b/bin/configs/spring-stubs-oas3.yaml index d5149f28adc..c37ba7e3c3c 100644 --- a/bin/configs/spring-stubs-oas3.yaml +++ b/bin/configs/spring-stubs-oas3.yaml @@ -1,6 +1,6 @@ generatorName: spring outputDir: samples/openapi3/client/petstore/spring-stubs -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: groupId: org.openapitools.openapi3 diff --git a/bin/configs/spring-stubs-skip-default-interface.yaml b/bin/configs/spring-stubs-skip-default-interface.yaml index bb107e0bd2a..43d4dd08089 100644 --- a/bin/configs/spring-stubs-skip-default-interface.yaml +++ b/bin/configs/spring-stubs-skip-default-interface.yaml @@ -1,6 +1,6 @@ generatorName: spring outputDir: samples/openapi3/client/petstore/spring-stubs-skip-default-interface -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: groupId: org.openapitools.openapi3 diff --git a/bin/configs/spring-stubs.yaml b/bin/configs/spring-stubs.yaml deleted file mode 100644 index 349c5e229c7..00000000000 --- a/bin/configs/spring-stubs.yaml +++ /dev/null @@ -1,10 +0,0 @@ -generatorName: spring -outputDir: samples/server/petstore/spring-stubs -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml -templateDir: modules/openapi-generator/src/main/resources/JavaSpring -additionalProperties: - documentationProvider: springfox - artifactId: spring-stubs - interfaceOnly: "true" - singleContentTypes: "true" - hideGenerationTimestamp: "true" diff --git a/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern-without-j8.yaml b/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern-without-j8.yaml index 7d16b4a1e76..7716066d45e 100644 --- a/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern-without-j8.yaml +++ b/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern-without-j8.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8 library: spring-boot -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring delegatePattern: true java8: false diff --git a/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern.yaml b/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern.yaml index 6cb1ca4b9cc..4060de18878 100644 --- a/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern.yaml +++ b/bin/configs/springboot-petstore-server-spring-pageable-delegatePattern.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/server/petstore/springboot-spring-pageable-delegatePattern library: spring-boot -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring delegatePattern: true additionalProperties: diff --git a/bin/configs/springboot-petstore-server-spring-pageable-without-j8.yaml b/bin/configs/springboot-petstore-server-spring-pageable-without-j8.yaml index 87c63968490..bbfb4e85312 100644 --- a/bin/configs/springboot-petstore-server-spring-pageable-without-j8.yaml +++ b/bin/configs/springboot-petstore-server-spring-pageable-without-j8.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/server/petstore/springboot-spring-pageable-without-j8 library: spring-boot -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring java8: false additionalProperties: diff --git a/bin/configs/springboot-petstore-server-spring-pageable.yaml b/bin/configs/springboot-petstore-server-spring-pageable.yaml index 2f4e88ed812..5ba08260299 100644 --- a/bin/configs/springboot-petstore-server-spring-pageable.yaml +++ b/bin/configs/springboot-petstore-server-spring-pageable.yaml @@ -1,7 +1,7 @@ generatorName: spring outputDir: samples/server/petstore/springboot-spring-pageable library: spring-boot -inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml +inputSpec: modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml templateDir: modules/openapi-generator/src/main/resources/JavaSpring additionalProperties: documentationProvider: springfox diff --git a/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml b/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml new file mode 100644 index 00000000000..3d6ed2942c3 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-fake-endpoints-models-for-testing-with-spring-pageable.yaml @@ -0,0 +1,2170 @@ +openapi: 3.0.1 +info: + title: OpenAPI Petstore + description: 'This spec is mainly for testing Petstore server and contains fake + endpoints, models. Please do not use this for any other purpose. Special characters: + " \' + license: + name: Apache-2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + version: 1.0.0 +servers: +- url: http://petstore.swagger.io:80/v2 +tags: +- name: pet + description: Everything about your Pets +- name: store + description: Access to Petstore orders +- name: user + description: Operations about user +paths: + /pet: + put: + tags: + - pet + summary: Update an existing pet + operationId: updatePet + requestBody: + description: Pet object that needs to be added to the store + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + required: true + responses: + 200: + description: successful operation + content: {} + 400: + description: Invalid ID supplied + content: {} + 404: + description: Pet not found + content: {} + 405: + description: Validation exception + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-codegen-request-body-name: body + post: + tags: + - pet + summary: Add a new pet to the store + operationId: addPet + requestBody: + description: Pet object that needs to be added to the store + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + required: true + responses: + 200: + description: successful operation + content: {} + 405: + description: Invalid input + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-codegen-request-body-name: body + /pet/findByStatus: + get: + tags: + - pet + summary: Finds Pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: true + style: form + explode: false + schema: + type: array + items: + type: string + default: available + enum: + - available + - pending + - sold + responses: + 200: + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid status value + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-spring-paginated: true + /pet/findByTags: + get: + tags: + - pet + summary: Finds Pets by tags + description: Multiple tags can be provided with comma separated strings. Use + tag1, tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: true + style: form + explode: false + schema: + type: array + items: + type: string + responses: + 200: + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid tag value + content: {} + deprecated: true + security: + - petstore_auth: + - write:pets + - read:pets + x-spring-paginated: true + /pet/{petId}: + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid ID supplied + content: {} + 404: + description: Pet not found + content: {} + security: + - api_key: [] + post: + tags: + - pet + summary: Updates a pet in the store with form data + operationId: updatePetWithForm + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + name: + type: string + description: Updated name of the pet + status: + type: string + description: Updated status of the pet + responses: + 405: + description: Invalid input + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + delete: + tags: + - pet + summary: Deletes a pet + operationId: deletePet + parameters: + - name: api_key + in: header + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: {} + 400: + description: Invalid pet value + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + /pet/{petId}/uploadImage: + post: + tags: + - pet + summary: uploads an image + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + requestBody: + content: + multipart/form-data: + schema: + properties: + additionalMetadata: + type: string + description: Additional data to pass to server + file: + type: string + description: file to upload + format: binary + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - write:pets + - read:pets + /store/inventory: + get: + tags: + - store + summary: Returns pet inventories by status + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + 200: + description: successful operation + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + security: + - api_key: [] + /store/order: + post: + tags: + - store + summary: Place an order for a pet + operationId: placeOrder + requestBody: + description: order placed for purchasing the pet + content: + '*/*': + schema: + $ref: '#/components/schemas/Order' + required: true + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + 400: + description: Invalid Order + content: {} + x-codegen-request-body-name: body + /store/order/{order_id}: + get: + tags: + - store + summary: Find purchase order by ID + description: For valid response try integer IDs with value <= 5 or > 10. Other + values will generate exceptions + operationId: getOrderById + parameters: + - name: order_id + in: path + description: ID of pet that needs to be fetched + required: true + schema: + maximum: 5 + minimum: 1 + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + 400: + description: Invalid ID supplied + content: {} + 404: + description: Order not found + content: {} + delete: + tags: + - store + summary: Delete purchase order by ID + description: For valid response try integer IDs with value < 1000. Anything + above 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - name: order_id + in: path + description: ID of the order that needs to be deleted + required: true + schema: + type: string + responses: + 400: + description: Invalid ID supplied + content: {} + 404: + description: Order not found + content: {} + /user: + post: + tags: + - user + summary: Create user + description: This can only be done by the logged in user. + operationId: createUser + requestBody: + description: Created user object + content: + '*/*': + schema: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/createWithArray: + post: + tags: + - user + summary: Creates list of users with given input array + operationId: createUsersWithArrayInput + requestBody: + description: List of user object + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/createWithList: + post: + tags: + - user + summary: Creates list of users with given input array + operationId: createUsersWithListInput + requestBody: + description: List of user object + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/login: + get: + tags: + - user + summary: Logs user into the system + operationId: loginUser + parameters: + - name: username + in: query + description: The user name for login + required: true + schema: + type: string + - name: password + in: query + description: The password for login in clear text + required: true + schema: + type: string + responses: + 200: + description: successful operation + headers: + X-Rate-Limit: + description: calls per hour allowed by the user + schema: + type: integer + format: int32 + X-Expires-After: + description: date in UTC when token expires + schema: + type: string + format: date-time + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + 400: + description: Invalid username/password supplied + content: {} + /user/logout: + get: + tags: + - user + summary: Logs out current logged in user session + operationId: logoutUser + responses: + default: + description: successful operation + content: {} + /user/{username}: + get: + tags: + - user + summary: Get user by user name + operationId: getUserByName + parameters: + - name: username + in: path + description: The name that needs to be fetched. Use user1 for testing. + required: true + schema: + type: string + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + 400: + description: Invalid username supplied + content: {} + 404: + description: User not found + content: {} + put: + tags: + - user + summary: Updated user + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - name: username + in: path + description: name that need to be deleted + required: true + schema: + type: string + requestBody: + description: Updated user object + content: + '*/*': + schema: + $ref: '#/components/schemas/User' + required: true + responses: + 400: + description: Invalid user supplied + content: {} + 404: + description: User not found + content: {} + x-codegen-request-body-name: body + delete: + tags: + - user + summary: Delete user + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - name: username + in: path + description: The name that needs to be deleted + required: true + schema: + type: string + responses: + 400: + description: Invalid username supplied + content: {} + 404: + description: User not found + content: {} + /fake_classname_test: + patch: + tags: + - fake_classname_tags 123#$%^ + summary: To test class name in snake case + description: To test class name in snake case + operationId: testClassname + requestBody: + description: client model + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + required: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + security: + - api_key_query: [] + x-codegen-request-body-name: body + /fake: + get: + tags: + - fake + summary: To test enum parameters + description: To test enum parameters + operationId: testEnumParameters + parameters: + - name: enum_header_string_array + in: header + description: Header parameter enum test (string array) + style: simple + explode: false + schema: + type: array + items: + type: string + default: $ + enum: + - '>' + - $ + - name: enum_header_string + in: header + description: Header parameter enum test (string) + schema: + type: string + default: -efg + enum: + - _abc + - -efg + - (xyz) + - name: enum_query_string_array + in: query + description: Query parameter enum test (string array) + style: form + explode: false + schema: + type: array + items: + type: string + default: $ + enum: + - '>' + - $ + - name: enum_query_string + in: query + description: Query parameter enum test (string) + schema: + type: string + default: -efg + enum: + - _abc + - -efg + - (xyz) + - name: enum_query_integer + in: query + description: Query parameter enum test (double) + schema: + type: integer + format: int32 + enum: + - 1 + - -2 + - name: enum_query_double + in: query + description: Query parameter enum test (double) + schema: + type: number + format: double + enum: + - 1.1 + - -1.2 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + enum_form_string_array: + type: array + description: Form parameter enum test (string array) + items: + type: string + default: $ + enum: + - '>' + - $ + enum_form_string: + type: string + description: Form parameter enum test (string) + default: -efg + enum: + - _abc + - -efg + - (xyz) + responses: + 400: + description: Invalid request + content: {} + 404: + description: Not found + content: {} + post: + tags: + - fake + summary: | + Fake endpoint for testing various parameters + 假端點 + 偽のエンドポイント + 가짜 엔드 포인트 + description: | + Fake endpoint for testing various parameters + 假端點 + 偽のエンドポイント + 가짜 엔드 포인트 + operationId: testEndpointParameters + requestBody: + content: + application/x-www-form-urlencoded: + schema: + required: + - byte + - double + - number + - pattern_without_delimiter + properties: + integer: + maximum: 100 + minimum: 10 + type: integer + description: None + format: int32 + int32: + maximum: 200 + minimum: 20 + type: integer + description: None + format: int32 + int64: + type: integer + description: None + format: int64 + number: + maximum: 543.2 + minimum: 32.1 + type: number + description: None + float: + maximum: 987.6 + type: number + description: None + format: float + double: + maximum: 123.4 + minimum: 67.8 + type: number + description: None + format: double + string: + pattern: /[a-z]/i + type: string + description: None + pattern_without_delimiter: + pattern: ^[A-Z].* + type: string + description: None + byte: + type: string + description: None + format: byte + binary: + type: string + description: None + format: binary + date: + type: string + description: None + format: date + dateTime: + type: string + description: None + format: date-time + password: + maxLength: 64 + minLength: 10 + type: string + description: None + format: password + callback: + type: string + description: None + required: true + responses: + 400: + description: Invalid username supplied + content: {} + 404: + description: User not found + content: {} + security: + - http_basic_test: [] + delete: + tags: + - fake + summary: Fake endpoint to test group parameters (optional) + description: Fake endpoint to test group parameters (optional) + operationId: testGroupParameters + parameters: + - name: required_string_group + in: query + description: Required String in group parameters + required: true + schema: + type: integer + - name: required_boolean_group + in: header + description: Required Boolean in group parameters + required: true + schema: + type: boolean + - name: required_int64_group + in: query + description: Required Integer in group parameters + required: true + schema: + type: integer + format: int64 + - name: string_group + in: query + description: String in group parameters + schema: + type: integer + - name: boolean_group + in: header + description: Boolean in group parameters + schema: + type: boolean + - name: int64_group + in: query + description: Integer in group parameters + schema: + type: integer + format: int64 + responses: + 400: + description: Something wrong + content: {} + x-group-parameters: true + patch: + tags: + - fake + summary: To test "client" model + description: To test "client" model + operationId: testClientModel + requestBody: + description: client model + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + required: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + x-codegen-request-body-name: body + /fake/outer/number: + post: + tags: + - fake + description: Test serialization of outer number types + operationId: fakeOuterNumberSerialize + requestBody: + description: Input number as post body + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterNumber' + required: false + responses: + 200: + description: Output number + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterNumber' + x-codegen-request-body-name: body + /fake/outer/string: + post: + tags: + - fake + description: Test serialization of outer string types + operationId: fakeOuterStringSerialize + requestBody: + description: Input string as post body + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterString' + required: false + responses: + 200: + description: Output string + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterString' + x-codegen-request-body-name: body + /fake/outer/boolean: + post: + tags: + - fake + description: Test serialization of outer boolean types + operationId: fakeOuterBooleanSerialize + requestBody: + description: Input boolean as post body + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterBoolean' + required: false + responses: + 200: + description: Output boolean + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterBoolean' + x-codegen-request-body-name: body + /fake/outer/composite: + post: + tags: + - fake + description: Test serialization of object with outer number type + operationId: fakeOuterCompositeSerialize + requestBody: + description: Input composite as post body + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterComposite' + required: false + responses: + 200: + description: Output composite + content: + '*/*': + schema: + $ref: '#/components/schemas/OuterComposite' + x-codegen-request-body-name: body + /fake/jsonFormData: + get: + tags: + - fake + summary: test json serialization of form data + operationId: testJsonFormData + requestBody: + content: + application/x-www-form-urlencoded: + schema: + required: + - param + - param2 + properties: + param: + type: string + description: field1 + param2: + type: string + description: field2 + required: true + responses: + 200: + description: successful operation + content: {} + /fake/inline-additionalProperties: + post: + tags: + - fake + summary: test inline additionalProperties + operationId: testInlineAdditionalProperties + requestBody: + description: request body + content: + application/json: + schema: + type: object + additionalProperties: + type: string + required: true + responses: + 200: + description: successful operation + content: {} + x-codegen-request-body-name: param + /fake/body-with-query-params: + put: + tags: + - fake + operationId: testBodyWithQueryParams + parameters: + - name: query + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + required: true + responses: + 200: + description: Success + content: {} + x-codegen-request-body-name: body + /fake/create_xml_item: + post: + tags: + - fake + summary: creates an XmlItem + description: this route creates an XmlItem + operationId: createXmlItem + requestBody: + description: XmlItem Body + content: + application/xml: + schema: + $ref: '#/components/schemas/XmlItem' + application/xml; charset=utf-8: + schema: + $ref: '#/components/schemas/XmlItem' + application/xml; charset=utf-16: + schema: + $ref: '#/components/schemas/XmlItem' + text/xml: + schema: + $ref: '#/components/schemas/XmlItem' + text/xml; charset=utf-8: + schema: + $ref: '#/components/schemas/XmlItem' + text/xml; charset=utf-16: + schema: + $ref: '#/components/schemas/XmlItem' + required: true + responses: + 200: + description: successful operation + content: {} + x-codegen-request-body-name: XmlItem + /another-fake/dummy: + patch: + tags: + - $another-fake? + summary: To test special tags + description: To test special tags and operation ID starting with number + operationId: 123_test_@#$%_special_tags + requestBody: + description: client model + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + required: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + x-codegen-request-body-name: body + /fake/body-with-file-schema: + put: + tags: + - fake + description: For this test, the body for this request much reference a schema + named `File`. + operationId: testBodyWithFileSchema + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FileSchemaTestClass' + required: true + responses: + 200: + description: Success + content: {} + x-codegen-request-body-name: body + /fake/test-query-parameters: + put: + tags: + - fake + description: To test the collection format in query parameters + operationId: testQueryParameterCollectionFormat + parameters: + - name: pipe + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: string + - name: ioutil + in: query + required: true + schema: + type: array + items: + type: string + - name: http + in: query + required: true + style: spaceDelimited + schema: + type: array + items: + type: string + - name: url + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: string + - name: context + in: query + required: true + style: form + explode: true + schema: + type: array + items: + type: string + responses: + 200: + description: Success + content: {} + /fake/{petId}/uploadImageWithRequiredFile: + post: + tags: + - pet + summary: uploads an image (required) + operationId: uploadFileWithRequiredFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + requestBody: + content: + multipart/form-data: + schema: + required: + - requiredFile + properties: + additionalMetadata: + type: string + description: Additional data to pass to server + requiredFile: + type: string + description: file to upload + format: binary + required: true + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - write:pets + - read:pets + /versioning/headers: + post: + tags: + - versioning + operationId: versioningHeaders + parameters: + - name: VersionWithDefaultValue + in: header + required: true + schema: + type: string + default: V1 + x-version-param: true + x-version-param: true + - name: VersionNoDefaultValue + in: header + required: true + schema: + type: string + x-version-param: true + x-version-param: true + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + '*/*': + schema: + $ref: '#/components/schemas/ApiResponse' + /versioning/query-params: + post: + tags: + - versioning + operationId: versioningQueryParams + parameters: + - name: VersionWithDefaultValue + in: query + required: true + schema: + type: string + default: V1 + x-version-param: true + x-version-param: true + - name: VersionNoDefaultValue + in: query + required: true + schema: + type: string + x-version-param: true + x-version-param: true + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + '*/*': + schema: + $ref: '#/components/schemas/ApiResponse' + /versioning/mix: + post: + tags: + - versioning + operationId: versioningMix + parameters: + - name: VersionWithDefaultValueQuery + in: query + required: true + schema: + type: string + default: V1 + x-version-param: true + x-version-param: true + - name: VersionNoDefaultValueQuery + in: query + required: true + schema: + type: string + x-version-param: true + x-version-param: true + - name: VersionWithDefaultValueHeader + in: header + required: true + schema: + type: string + default: V1 + x-version-param: true + x-version-param: true + - name: VersionNoDefaultValueHeader + in: header + required: true + schema: + type: string + x-version-param: true + x-version-param: true + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + '*/*': + schema: + $ref: '#/components/schemas/ApiResponse' +components: + schemas: + Order: + type: object + properties: + id: + type: integer + format: int64 + petId: + type: integer + format: int64 + quantity: + type: integer + format: int32 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + complete: + type: boolean + default: false + xml: + name: Order + Category: + required: + - name + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + default: default-name + xml: + name: Category + User: + type: object + properties: + id: + type: integer + format: int64 + x-is-unique: true + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + type: integer + description: User Status + format: int32 + xml: + name: User + Tag: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + xml: + name: Tag + Pet: + required: + - name + - photoUrls + type: object + properties: + id: + type: integer + format: int64 + x-is-unique: true + category: + $ref: '#/components/schemas/Category' + name: + type: string + example: doggie + photoUrls: + type: array + xml: + name: photoUrl + wrapped: true + items: + type: string + tags: + type: array + xml: + name: tag + wrapped: true + items: + $ref: '#/components/schemas/Tag' + status: + type: string + description: pet status in the store + enum: + - available + - pending + - sold + xml: + name: Pet + ApiResponse: + type: object + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string + _special_model_name_: + type: object + properties: + $special[property.name]: + type: integer + format: int64 + xml: + name: $special[model.name] + Return: + type: object + properties: + return: + type: integer + format: int32 + description: Model for testing reserved words + xml: + name: Return + Name: + required: + - name + type: object + properties: + name: + type: integer + format: int32 + snake_case: + type: integer + format: int32 + readOnly: true + property: + type: string + 123Number: + type: integer + readOnly: true + description: Model for testing model name same as property name + xml: + name: Name + 200_response: + type: object + properties: + name: + type: integer + format: int32 + class: + type: string + description: Model for testing model name starting with number + xml: + name: Name + ClassModel: + type: object + properties: + _class: + type: string + description: Model for testing model with "_class" property + Dog: + allOf: + - $ref: '#/components/schemas/Animal' + - type: object + properties: + breed: + type: string + Cat: + allOf: + - $ref: '#/components/schemas/Animal' + - type: object + properties: + declawed: + type: boolean + Animal: + required: + - className + type: object + properties: + className: + type: string + color: + type: string + default: red + discriminator: + propertyName: className + AnimalFarm: + type: array + items: + $ref: '#/components/schemas/Animal' + format_test: + required: + - byte + - date + - number + - password + type: object + properties: + integer: + maximum: 1E+2 + minimum: 1E+1 + type: integer + int32: + maximum: 2E+2 + minimum: 2E+1 + type: integer + format: int32 + int64: + type: integer + format: int64 + number: + maximum: 543.2 + minimum: 32.1 + type: number + float: + maximum: 987.6 + minimum: 54.3 + type: number + format: float + double: + maximum: 123.4 + minimum: 67.8 + type: number + format: double + string: + pattern: /[a-z]/i + type: string + byte: + pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ + type: string + format: byte + binary: + type: string + format: binary + date: + type: string + format: date + dateTime: + type: string + format: date-time + uuid: + type: string + format: uuid + example: 72f98069-206d-4f12-9f12-3d1e525a8e84 + password: + maxLength: 64 + minLength: 10 + type: string + format: password + BigDecimal: + type: string + format: number + EnumClass: + type: string + default: -efg + enum: + - _abc + - -efg + - (xyz) + Enum_Test: + required: + - enum_string_required + type: object + properties: + enum_string: + type: string + enum: + - UPPER + - lower + - "" + enum_string_required: + type: string + enum: + - UPPER + - lower + - "" + enum_integer: + type: integer + format: int32 + enum: + - 1 + - -1 + enum_number: + type: number + format: double + enum: + - 1.1 + - -1.2 + outerEnum: + $ref: '#/components/schemas/OuterEnum' + AdditionalPropertiesClass: + type: object + properties: + map_string: + type: object + additionalProperties: + type: string + map_number: + type: object + additionalProperties: + type: number + map_integer: + type: object + additionalProperties: + type: integer + map_boolean: + type: object + additionalProperties: + type: boolean + map_array_integer: + type: object + additionalProperties: + type: array + items: + type: integer + map_array_anytype: + type: object + additionalProperties: + type: array + items: + type: object + properties: {} + map_map_string: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + map_map_anytype: + type: object + additionalProperties: + type: object + additionalProperties: + type: object + properties: {} + anytype_1: + type: object + properties: {} + anytype_2: + type: object + anytype_3: + type: object + properties: {} + AdditionalPropertiesString: + type: object + properties: + name: + type: string + additionalProperties: + type: string + AdditionalPropertiesInteger: + type: object + properties: + name: + type: string + additionalProperties: + type: integer + AdditionalPropertiesNumber: + type: object + properties: + name: + type: string + additionalProperties: + type: number + AdditionalPropertiesBoolean: + type: object + properties: + name: + type: string + additionalProperties: + type: boolean + AdditionalPropertiesArray: + type: object + properties: + name: + type: string + additionalProperties: + type: array + items: + type: object + properties: {} + AdditionalPropertiesObject: + type: object + properties: + name: + type: string + additionalProperties: + type: object + additionalProperties: + type: object + properties: {} + AdditionalPropertiesAnyType: + type: object + properties: + name: + type: string + additionalProperties: + type: object + properties: {} + MixedPropertiesAndAdditionalPropertiesClass: + type: object + properties: + uuid: + type: string + format: uuid + dateTime: + type: string + format: date-time + map: + type: object + additionalProperties: + $ref: '#/components/schemas/Animal' + List: + type: object + properties: + 123-list: + type: string + Client: + type: object + properties: + client: + type: string + ReadOnlyFirst: + type: object + properties: + bar: + type: string + readOnly: true + baz: + type: string + hasOnlyReadOnly: + type: object + properties: + bar: + type: string + readOnly: true + foo: + type: string + readOnly: true + Capitalization: + type: object + properties: + smallCamel: + type: string + CapitalCamel: + type: string + small_Snake: + type: string + Capital_Snake: + type: string + SCA_ETH_Flow_Points: + type: string + ATT_NAME: + type: string + description: | + Name of the pet + MapTest: + type: object + properties: + map_map_of_string: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + map_of_enum_string: + type: object + additionalProperties: + type: string + enum: + - UPPER + - lower + direct_map: + type: object + additionalProperties: + type: boolean + indirect_map: + $ref: '#/components/schemas/StringBooleanMap' + ArrayTest: + type: object + properties: + array_of_string: + type: array + items: + type: string + array_array_of_integer: + type: array + items: + type: array + items: + type: integer + format: int64 + array_array_of_model: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ReadOnlyFirst' + NumberOnly: + type: object + properties: + JustNumber: + type: number + ArrayOfNumberOnly: + type: object + properties: + ArrayNumber: + type: array + items: + type: number + ArrayOfArrayOfNumberOnly: + type: object + properties: + ArrayArrayNumber: + type: array + items: + type: array + items: + type: number + EnumArrays: + type: object + properties: + just_symbol: + type: string + enum: + - '>=' + - $ + array_enum: + type: array + items: + type: string + enum: + - fish + - crab + OuterEnum: + type: string + enum: + - placed + - approved + - delivered + OuterComposite: + type: object + properties: + my_number: + $ref: '#/components/schemas/OuterNumber' + my_string: + $ref: '#/components/schemas/OuterString' + my_boolean: + $ref: '#/components/schemas/OuterBoolean' + OuterNumber: + type: number + OuterString: + type: string + OuterBoolean: + type: boolean + x-codegen-body-parameter-name: boolean_post_body + StringBooleanMap: + type: object + additionalProperties: + type: boolean + FileSchemaTestClass: + type: object + properties: + file: + $ref: '#/components/schemas/File' + files: + type: array + items: + $ref: '#/components/schemas/File' + File: + type: object + properties: + sourceURI: + type: string + description: Test capitalization + description: Must be named `File` for test. + TypeHolderDefault: + required: + - array_item + - bool_item + - integer_item + - number_item + - string_item + type: object + properties: + string_item: + type: string + default: what + number_item: + type: number + integer_item: + type: integer + bool_item: + type: boolean + default: true + array_item: + type: array + items: + type: integer + TypeHolderExample: + required: + - array_item + - bool_item + - float_item + - integer_item + - number_item + - string_item + type: object + properties: + string_item: + type: string + example: what + number_item: + type: number + example: 1.234 + float_item: + type: number + format: float + example: 1.234 + integer_item: + type: integer + example: -2 + bool_item: + type: boolean + example: true + array_item: + type: array + example: + - 0 + - 1 + - 2 + - 3 + items: + type: integer + XmlItem: + type: object + properties: + attribute_string: + type: string + example: string + xml: + attribute: true + attribute_number: + type: number + example: 1.234 + xml: + attribute: true + attribute_integer: + type: integer + example: -2 + xml: + attribute: true + attribute_boolean: + type: boolean + example: true + xml: + attribute: true + wrapped_array: + type: array + xml: + wrapped: true + items: + type: integer + name_string: + type: string + example: string + xml: + name: xml_name_string + name_number: + type: number + example: 1.234 + xml: + name: xml_name_number + name_integer: + type: integer + example: -2 + xml: + name: xml_name_integer + name_boolean: + type: boolean + example: true + xml: + name: xml_name_boolean + name_array: + type: array + items: + type: integer + xml: + name: xml_name_array_item + name_wrapped_array: + type: array + xml: + name: xml_name_wrapped_array + wrapped: true + items: + type: integer + xml: + name: xml_name_wrapped_array_item + prefix_string: + type: string + example: string + xml: + prefix: ab + prefix_number: + type: number + example: 1.234 + xml: + prefix: cd + prefix_integer: + type: integer + example: -2 + xml: + prefix: ef + prefix_boolean: + type: boolean + example: true + xml: + prefix: gh + prefix_array: + type: array + items: + type: integer + xml: + prefix: ij + prefix_wrapped_array: + type: array + xml: + prefix: kl + wrapped: true + items: + type: integer + xml: + prefix: mn + namespace_string: + type: string + example: string + xml: + namespace: http://a.com/schema + namespace_number: + type: number + example: 1.234 + xml: + namespace: http://b.com/schema + namespace_integer: + type: integer + example: -2 + xml: + namespace: http://c.com/schema + namespace_boolean: + type: boolean + example: true + xml: + namespace: http://d.com/schema + namespace_array: + type: array + items: + type: integer + xml: + namespace: http://e.com/schema + namespace_wrapped_array: + type: array + xml: + namespace: http://f.com/schema + wrapped: true + items: + type: integer + xml: + namespace: http://g.com/schema + prefix_ns_string: + type: string + example: string + xml: + namespace: http://a.com/schema + prefix: a + prefix_ns_number: + type: number + example: 1.234 + xml: + namespace: http://b.com/schema + prefix: b + prefix_ns_integer: + type: integer + example: -2 + xml: + namespace: http://c.com/schema + prefix: c + prefix_ns_boolean: + type: boolean + example: true + xml: + namespace: http://d.com/schema + prefix: d + prefix_ns_array: + type: array + items: + type: integer + xml: + namespace: http://e.com/schema + prefix: e + prefix_ns_wrapped_array: + type: array + xml: + namespace: http://f.com/schema + prefix: f + wrapped: true + items: + type: integer + xml: + namespace: http://g.com/schema + prefix: g + xml: + namespace: http://a.com/schema + prefix: pre + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: http://petstore.swagger.io/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + api_key: + type: apiKey + name: api_key + in: header + api_key_query: + type: apiKey + name: api_key_query + in: query + http_basic_test: + type: http + scheme: basic diff --git a/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-spring-pageable.yaml b/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-spring-pageable.yaml new file mode 100644 index 00000000000..bd045d28262 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/spring/petstore-with-spring-pageable.yaml @@ -0,0 +1,733 @@ +openapi: 3.0.1 +info: + title: OpenAPI Petstore + description: This is a sample server Petstore server. For this sample, you can use + the api key `special-key` to test the authorization filters. + license: + name: Apache-2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + version: 1.0.0 +servers: +- url: http://petstore.swagger.io/v2 +tags: +- name: pet + description: Everything about your Pets +- name: store + description: Access to Petstore orders +- name: user + description: Operations about user +paths: + /pet: + put: + tags: + - pet + summary: Update an existing pet + operationId: updatePet + requestBody: + description: Pet object that needs to be added to the store + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + required: true + responses: + 400: + description: Invalid ID supplied + content: {} + 404: + description: Pet not found + content: {} + 405: + description: Validation exception + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-codegen-request-body-name: body + post: + tags: + - pet + summary: Add a new pet to the store + operationId: addPet + requestBody: + description: Pet object that needs to be added to the store + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + required: true + responses: + 405: + description: Invalid input + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-codegen-request-body-name: body + /pet/findByStatus: + get: + tags: + - pet + summary: Finds Pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: true + style: form + explode: false + schema: + type: array + items: + type: string + default: available + enum: + - available + - pending + - sold + responses: + 200: + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid status value + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + x-spring-paginated: true + /pet/findByTags: + get: + tags: + - pet + summary: Finds Pets by tags + description: Multiple tags can be provided with comma separated strings. Use + tag1, tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: true + style: form + explode: false + schema: + type: array + items: + type: string + responses: + 200: + description: successful operation + content: + application/xml: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid tag value + content: {} + deprecated: true + security: + - petstore_auth: + - write:pets + - read:pets + x-spring-paginated: true + /pet/{petId}: + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Pet' + application/json: + schema: + $ref: '#/components/schemas/Pet' + 400: + description: Invalid ID supplied + content: {} + 404: + description: Pet not found + content: {} + security: + - api_key: [] + post: + tags: + - pet + summary: Updates a pet in the store with form data + operationId: updatePetWithForm + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + requestBody: + content: + application/x-www-form-urlencoded: + schema: + properties: + name: + type: string + description: Updated name of the pet + status: + type: string + description: Updated status of the pet + responses: + 405: + description: Invalid input + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + delete: + tags: + - pet + summary: Deletes a pet + operationId: deletePet + parameters: + - name: api_key + in: header + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + 400: + description: Invalid pet value + content: {} + security: + - petstore_auth: + - write:pets + - read:pets + /pet/{petId}/uploadImage: + post: + tags: + - pet + summary: uploads an image + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + requestBody: + content: + multipart/form-data: + schema: + properties: + additionalMetadata: + type: string + description: Additional data to pass to server + file: + type: string + description: file to upload + format: binary + responses: + 200: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - write:pets + - read:pets + /store/inventory: + get: + tags: + - store + summary: Returns pet inventories by status + description: Returns a map of status codes to quantities + operationId: getInventory + responses: + 200: + description: successful operation + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + security: + - api_key: [] + /store/order: + post: + tags: + - store + summary: Place an order for a pet + operationId: placeOrder + requestBody: + description: order placed for purchasing the pet + content: + '*/*': + schema: + $ref: '#/components/schemas/Order' + required: true + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + 400: + description: Invalid Order + content: {} + x-codegen-request-body-name: body + /store/order/{orderId}: + get: + tags: + - store + summary: Find purchase order by ID + description: For valid response try integer IDs with value <= 5 or > 10. Other + values will generate exceptions + operationId: getOrderById + parameters: + - name: orderId + in: path + description: ID of pet that needs to be fetched + required: true + schema: + maximum: 5 + minimum: 1 + type: integer + format: int64 + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/Order' + application/json: + schema: + $ref: '#/components/schemas/Order' + 400: + description: Invalid ID supplied + content: {} + 404: + description: Order not found + content: {} + delete: + tags: + - store + summary: Delete purchase order by ID + description: For valid response try integer IDs with value < 1000. Anything + above 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - name: orderId + in: path + description: ID of the order that needs to be deleted + required: true + schema: + type: string + responses: + 400: + description: Invalid ID supplied + content: {} + 404: + description: Order not found + content: {} + /user: + post: + tags: + - user + summary: Create user + description: This can only be done by the logged in user. + operationId: createUser + requestBody: + description: Created user object + content: + '*/*': + schema: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/createWithArray: + post: + tags: + - user + summary: Creates list of users with given input array + operationId: createUsersWithArrayInput + requestBody: + description: List of user object + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/createWithList: + post: + tags: + - user + summary: Creates list of users with given input array + operationId: createUsersWithListInput + requestBody: + description: List of user object + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/User' + required: true + responses: + default: + description: successful operation + content: {} + x-codegen-request-body-name: body + /user/login: + get: + tags: + - user + summary: Logs user into the system + operationId: loginUser + parameters: + - name: username + in: query + description: The user name for login + required: true + schema: + type: string + - name: password + in: query + description: The password for login in clear text + required: true + schema: + type: string + responses: + 200: + description: successful operation + headers: + X-Rate-Limit: + description: calls per hour allowed by the user + schema: + type: integer + format: int32 + X-Expires-After: + description: date in UTC when token expires + schema: + type: string + format: date-time + content: + application/xml: + schema: + type: string + application/json: + schema: + type: string + 400: + description: Invalid username/password supplied + content: {} + /user/logout: + get: + tags: + - user + summary: Logs out current logged in user session + operationId: logoutUser + responses: + default: + description: successful operation + content: {} + options: + tags: + - user + summary: logoutUserOptions + operationId: logoutUserOptions + responses: + default: + description: endpoint configuration response + content: {} + /user/{username}: + get: + tags: + - user + summary: Get user by user name + operationId: getUserByName + parameters: + - name: username + in: path + description: The name that needs to be fetched. Use user1 for testing. + required: true + schema: + type: string + responses: + 200: + description: successful operation + content: + application/xml: + schema: + $ref: '#/components/schemas/User' + application/json: + schema: + $ref: '#/components/schemas/User' + 400: + description: Invalid username supplied + content: {} + 404: + description: User not found + content: {} + put: + tags: + - user + summary: Updated user + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - name: username + in: path + description: name that need to be deleted + required: true + schema: + type: string + requestBody: + description: Updated user object + content: + '*/*': + schema: + $ref: '#/components/schemas/User' + required: true + responses: + 400: + description: Invalid user supplied + content: {} + 404: + description: User not found + content: {} + x-codegen-request-body-name: body + delete: + tags: + - user + summary: Delete user + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - name: username + in: path + description: The name that needs to be deleted + required: true + schema: + type: string + responses: + 400: + description: Invalid username supplied + content: {} + 404: + description: User not found + content: {} +components: + schemas: + Order: + title: Pet Order + type: object + properties: + id: + type: integer + format: int64 + petId: + type: integer + format: int64 + quantity: + type: integer + format: int32 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + complete: + type: boolean + default: false + description: An order for a pets from the pet store + xml: + name: Order + Category: + title: Pet category + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + description: A category for a pet + xml: + name: Category + User: + title: a User + type: object + properties: + id: + type: integer + format: int64 + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + phone: + type: string + userStatus: + type: integer + description: User Status + format: int32 + description: A User who is purchasing from the pet store + xml: + name: User + Tag: + title: Pet Tag + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + description: A tag for a pet + xml: + name: Tag + Pet: + title: a Pet + required: + - name + - photoUrls + type: object + properties: + id: + type: integer + format: int64 + category: + $ref: '#/components/schemas/Category' + name: + type: string + example: doggie + photoUrls: + type: array + xml: + name: photoUrl + wrapped: true + items: + type: string + tags: + type: array + xml: + name: tag + wrapped: true + items: + $ref: '#/components/schemas/Tag' + status: + type: string + description: pet status in the store + enum: + - available + - pending + - sold + description: A pet for sale in the pet store + xml: + name: Pet + ApiResponse: + title: An uploaded response + type: object + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string + description: Describes the result of uploading an image resource + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: http://petstore.swagger.io/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + api_key: + type: apiKey + name: api_key + in: header + diff --git a/samples/client/petstore/spring-cloud-async/.openapi-generator-ignore b/samples/client/petstore/spring-cloud-async/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a3..00000000000 --- a/samples/client/petstore/spring-cloud-async/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/spring-cloud-async/.openapi-generator/FILES b/samples/client/petstore/spring-cloud-async/.openapi-generator/FILES deleted file mode 100644 index 3510d2b2d27..00000000000 --- a/samples/client/petstore/spring-cloud-async/.openapi-generator/FILES +++ /dev/null @@ -1,16 +0,0 @@ -README.md -pom.xml -src/main/java/org/openapitools/api/PetApi.java -src/main/java/org/openapitools/api/PetApiClient.java -src/main/java/org/openapitools/api/StoreApi.java -src/main/java/org/openapitools/api/StoreApiClient.java -src/main/java/org/openapitools/api/UserApi.java -src/main/java/org/openapitools/api/UserApiClient.java -src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java -src/main/java/org/openapitools/configuration/ClientConfiguration.java -src/main/java/org/openapitools/model/Category.java -src/main/java/org/openapitools/model/ModelApiResponse.java -src/main/java/org/openapitools/model/Order.java -src/main/java/org/openapitools/model/Pet.java -src/main/java/org/openapitools/model/Tag.java -src/main/java/org/openapitools/model/User.java diff --git a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION deleted file mode 100644 index 7f4d792ec2c..00000000000 --- a/samples/client/petstore/spring-cloud-async/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.5.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-async/README.md b/samples/client/petstore/spring-cloud-async/README.md deleted file mode 100644 index f176b79c8ae..00000000000 --- a/samples/client/petstore/spring-cloud-async/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# petstore-spring-cloud - -## Requirements - -Building the API client library requires [Maven](https://maven.apache.org/) to be installed. - -## Installation - -To install the API client library to your local Maven repository, simply execute: - -```shell -mvn install -``` - -To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: - -```shell -mvn deploy -``` - -Refer to the [official documentation](https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) for more information. - -### Maven users - -Add this dependency to your project's POM: - -```xml - - org.openapitools - petstore-spring-cloud - 1.0.0 - compile - -``` - -### Gradle users - -Add this dependency to your project's build file: - -```groovy -compile "org.openapitools:petstore-spring-cloud:1.0.0" -``` - -### Others - -At first generate the JAR by executing: - -mvn package - -Then manually install the following JARs: - -* target/petstore-spring-cloud-1.0.0.jar -* target/lib/*.jar diff --git a/samples/client/petstore/spring-cloud-async/pom.xml b/samples/client/petstore/spring-cloud-async/pom.xml deleted file mode 100644 index e893d0fa75f..00000000000 --- a/samples/client/petstore/spring-cloud-async/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - 4.0.0 - org.openapitools - petstore-spring-cloud - jar - petstore-spring-cloud - 1.0.0 - - 1.8 - ${java.version} - ${java.version} - UTF-8 - 2.9.2 - - - org.springframework.boot - spring-boot-starter-parent - 2.7.6 - - - - src/main/java - - - - - - org.springframework.cloud - spring-cloud-starter-parent - 2021.0.5 - pom - import - - - - - - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - - com.google.code.findbugs - jsr305 - 3.0.2 - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - org.springframework.cloud - spring-cloud-starter-oauth2 - 2.2.5.RELEASE - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - org.openapitools - jackson-databind-nullable - 0.2.6 - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.data - spring-data-commons - - - org.springframework.boot - spring-boot-starter-test - test - - - diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java deleted file mode 100644 index 699618ea67f..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ /dev/null @@ -1,309 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import org.openapitools.model.ModelApiResponse; -import org.openapitools.model.Pet; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "pet", description = "Everything about your Pets") -public interface PetApi { - - /** - * POST /pet : Add a new pet to the store - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet", - consumes = "application/json" - ) - CompletableFuture> addPet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ); - - - /** - * DELETE /pet/{petId} : Deletes a pet - * - * @param petId Pet id to delete (required) - * @param apiKey (optional) - * @return Invalid pet value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid pet value") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/pet/{petId}" - ) - CompletableFuture> deletePet( - @ApiParam(value = "Pet id to delete", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "") @RequestHeader(value = "api_key", required = false) String apiKey - ); - - - /** - * GET /pet/findByStatus : Finds Pets by status - * Multiple status values can be provided with comma separated strings - * - * @param status Status values that need to be considered for filter (required) - * @return successful operation (status code 200) - * or Invalid status value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid status value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByStatus", - produces = "application/json" - ) - CompletableFuture>> findPetsByStatus( - @NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) List status - ); - - - /** - * GET /pet/findByTags : Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * - * @param tags Tags to filter by (required) - * @return successful operation (status code 200) - * or Invalid tag value (status code 400) - * @deprecated - */ - @Deprecated - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid tag value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByTags", - produces = "application/json" - ) - CompletableFuture>> findPetsByTags( - @NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) List tags - ); - - - /** - * GET /pet/{petId} : Find pet by ID - * Returns a single pet - * - * @param petId ID of pet to return (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - */ - @ApiOperation( - tags = { "pet" }, - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet.class, - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/{petId}", - produces = "application/json" - ) - CompletableFuture> getPetById( - @ApiParam(value = "ID of pet to return", required = true) @PathVariable("petId") Long petId - ); - - - /** - * PUT /pet : Update an existing pet - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - * or Validation exception (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found"), - @ApiResponse(code = 405, message = "Validation exception") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/pet", - consumes = "application/json" - ) - CompletableFuture> updatePet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ); - - - /** - * POST /pet/{petId} : Updates a pet in the store with form data - * - * @param petId ID of pet that needs to be updated (required) - * @param name Updated name of the pet (optional) - * @param status Updated status of the pet (optional) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}", - consumes = "application/x-www-form-urlencoded" - ) - CompletableFuture> updatePetWithForm( - @ApiParam(value = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, - @ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status - ); - - - /** - * POST /pet/{petId}/uploadImage : uploads an image - * - * @param petId ID of pet to update (required) - * @param additionalMetadata Additional data to pass to server (optional) - * @param file file to upload (optional) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "pet" }, - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse.class, - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}/uploadImage", - produces = "application/json", - consumes = "multipart/form-data" - ) - CompletableFuture> uploadFile( - @ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, - @ApiParam(value = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file - ); - -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApiClient.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApiClient.java deleted file mode 100644 index f80fe4ddc67..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${pet.name:pet}", url="${pet.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface PetApiClient extends PetApi { -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java deleted file mode 100644 index a5a1c63c5aa..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ /dev/null @@ -1,147 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.Map; -import org.openapitools.model.Order; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "store", description = "Access to Petstore orders") -public interface StoreApi { - - /** - * DELETE /store/order/{orderId} : Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * - * @param orderId ID of the order that needs to be deleted (required) - * @return Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors" - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/store/order/{orderId}" - ) - CompletableFuture> deleteOrder( - @ApiParam(value = "ID of the order that needs to be deleted", required = true) @PathVariable("orderId") String orderId - ); - - - /** - * GET /store/inventory : Returns pet inventories by status - * Returns a map of status codes to quantities - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "store" }, - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = Integer.class, - responseContainer = "Map", - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/inventory", - produces = "application/json" - ) - CompletableFuture>> getInventory( - - ); - - - /** - * GET /store/order/{orderId} : Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - * - * @param orderId ID of pet that needs to be fetched (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/order/{orderId}", - produces = "application/json" - ) - CompletableFuture> getOrderById( - @Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required = true) @PathVariable("orderId") Long orderId - ); - - - /** - * POST /store/order : Place an order for a pet - * - * @param body order placed for purchasing the pet (required) - * @return successful operation (status code 200) - * or Invalid Order (status code 400) - */ - @ApiOperation( - tags = { "store" }, - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid Order") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/store/order", - produces = "application/json" - ) - CompletableFuture> placeOrder( - @ApiParam(value = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body - ); - -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApiClient.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApiClient.java deleted file mode 100644 index 71d613a871d..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${store.name:store}", url="${store.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface StoreApiClient extends StoreApi { -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java deleted file mode 100644 index 7c1808d367e..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ /dev/null @@ -1,244 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.List; -import java.time.OffsetDateTime; -import org.openapitools.model.User; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "user", description = "Operations about user") -public interface UserApi { - - /** - * POST /user : Create user - * This can only be done by the logged in user. - * - * @param body Created user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user" - ) - CompletableFuture> createUser( - @ApiParam(value = "Created user object", required = true) @Valid @RequestBody User body - ); - - - /** - * POST /user/createWithArray : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithArray" - ) - CompletableFuture> createUsersWithArrayInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ); - - - /** - * POST /user/createWithList : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithList" - ) - CompletableFuture> createUsersWithListInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ); - - - /** - * DELETE /user/{username} : Delete user - * This can only be done by the logged in user. - * - * @param username The name that needs to be deleted (required) - * @return Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/user/{username}" - ) - CompletableFuture> deleteUser( - @ApiParam(value = "The name that needs to be deleted", required = true) @PathVariable("username") String username - ); - - - /** - * GET /user/{username} : Get user by user name - * - * @param username The name that needs to be fetched. Use user1 for testing. (required) - * @return successful operation (status code 200) - * or Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = User.class), - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/{username}", - produces = "application/json" - ) - CompletableFuture> getUserByName( - @ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username - ); - - - /** - * GET /user/login : Logs user into the system - * - * @param username The user name for login (required) - * @param password The password for login in clear text (required) - * @return successful operation (status code 200) - * or Invalid username/password supplied (status code 400) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = String.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = String.class), - @ApiResponse(code = 400, message = "Invalid username/password supplied") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/login", - produces = "application/json" - ) - CompletableFuture> loginUser( - @NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, - @NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password - ); - - - /** - * GET /user/logout : Logs out current logged in user session - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/logout" - ) - CompletableFuture> logoutUser( - - ); - - - /** - * PUT /user/{username} : Updated user - * This can only be done by the logged in user. - * - * @param username name that need to be deleted (required) - * @param body Updated user object (required) - * @return Invalid user supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid user supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/user/{username}" - ) - CompletableFuture> updateUser( - @ApiParam(value = "name that need to be deleted", required = true) @PathVariable("username") String username, - @ApiParam(value = "Updated user object", required = true) @Valid @RequestBody User body - ); - -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApiClient.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApiClient.java deleted file mode 100644 index 1db4598108d..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${user.name:user}", url="${user.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface UserApiClient extends UserApi { -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java deleted file mode 100644 index 199278dcb53..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.openapitools.configuration; - -import feign.RequestInterceptor; -import feign.RequestTemplate; -import feign.Util; - - -public class ApiKeyRequestInterceptor implements RequestInterceptor { - private final String location; - private final String name; - private String value; - - public ApiKeyRequestInterceptor(String location, String name, String value) { - Util.checkNotNull(location, "location", new Object[0]); - Util.checkNotNull(name, "name", new Object[0]); - Util.checkNotNull(value, "value", new Object[0]); - this.location = location; - this.name = name; - this.value = value; - } - - @Override - public void apply(RequestTemplate requestTemplate) { - if(location.equals("header")) { - requestTemplate.header(name, value); - } else if(location.equals("query")) { - requestTemplate.query(name, value); - } - } - -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java deleted file mode 100644 index 49f1c66c11a..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.openapitools.configuration; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.cloud.openfeign.security.OAuth2FeignRequestInterceptor; -import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; -import org.springframework.security.oauth2.client.OAuth2ClientContext; -import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; - -@Configuration -@EnableConfigurationProperties -public class ClientConfiguration { - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor(OAuth2ClientContext oAuth2ClientContext) { - return new OAuth2FeignRequestInterceptor(oAuth2ClientContext, petstoreAuthResourceDetails()); - } - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - public OAuth2ClientContext oAuth2ClientContext() { - return new DefaultOAuth2ClientContext(); - } - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - @ConfigurationProperties("openapipetstore.security.petstoreAuth") - public ImplicitResourceDetails petstoreAuthResourceDetails() { - ImplicitResourceDetails details = new ImplicitResourceDetails(); - details.setUserAuthorizationUri("http://petstore.swagger.io/api/oauth/dialog"); - return details; - } - - @Value("${openapipetstore.security.apiKey.key:}") - private String apiKeyKey; - - @Bean - @ConditionalOnProperty(name = "openapipetstore.security.apiKey.key") - public ApiKeyRequestInterceptor apiKeyRequestInterceptor() { - return new ApiKeyRequestInterceptor("header", "api_key", this.apiKeyKey); - } - -} diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java deleted file mode 100644 index 9f5ef4d9f1a..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A category for a pet - */ - -@ApiModel(description = "A category for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Category { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Category id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Category name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(this.id, category.id) && - Objects.equals(this.name, category.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Category {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/ModelApiResponse.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/ModelApiResponse.java deleted file mode 100644 index 52fb11fd3cf..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/ModelApiResponse.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * Describes the result of uploading an image resource - */ - -@ApiModel(description = "Describes the result of uploading an image resource") -@JsonTypeName("ApiResponse") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class ModelApiResponse { - - @JsonProperty("code") - private Integer code; - - @JsonProperty("type") - private String type; - - @JsonProperty("message") - private String message; - - public ModelApiResponse code(Integer code) { - this.code = code; - return this; - } - - /** - * Get code - * @return code - */ - - @ApiModelProperty(value = "") - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public ModelApiResponse type(String type) { - this.type = type; - return this; - } - - /** - * Get type - * @return type - */ - - @ApiModelProperty(value = "") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public ModelApiResponse message(String message) { - this.message = message; - return this; - } - - /** - * Get message - * @return message - */ - - @ApiModelProperty(value = "") - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(this.code, _apiResponse.code) && - Objects.equals(this.type, _apiResponse.type) && - Objects.equals(this.message, _apiResponse.message); - } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ModelApiResponse {\n"); - sb.append(" code: ").append(toIndentedString(code)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); - sb.append(" message: ").append(toIndentedString(message)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Order.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Order.java deleted file mode 100644 index 66d9df6dfd9..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Order.java +++ /dev/null @@ -1,246 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.OffsetDateTime; -import org.springframework.format.annotation.DateTimeFormat; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * An order for a pets from the pet store - */ - -@ApiModel(description = "An order for a pets from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Order { - - @JsonProperty("id") - private Long id; - - @JsonProperty("petId") - private Long petId; - - @JsonProperty("quantity") - private Integer quantity; - - @JsonProperty("shipDate") - @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) - private OffsetDateTime shipDate; - - /** - * Order Status - */ - public enum StatusEnum { - PLACED("placed"), - - APPROVED("approved"), - - DELIVERED("delivered"); - - private String value; - - StatusEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static StatusEnum fromValue(String value) { - for (StatusEnum b : StatusEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - - @JsonProperty("status") - private StatusEnum status; - - @JsonProperty("complete") - private Boolean complete = false; - - public Order id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Order petId(Long petId) { - this.petId = petId; - return this; - } - - /** - * Get petId - * @return petId - */ - - @ApiModelProperty(value = "") - public Long getPetId() { - return petId; - } - - public void setPetId(Long petId) { - this.petId = petId; - } - - public Order quantity(Integer quantity) { - this.quantity = quantity; - return this; - } - - /** - * Get quantity - * @return quantity - */ - - @ApiModelProperty(value = "") - public Integer getQuantity() { - return quantity; - } - - public void setQuantity(Integer quantity) { - this.quantity = quantity; - } - - public Order shipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - return this; - } - - /** - * Get shipDate - * @return shipDate - */ - @Valid - @ApiModelProperty(value = "") - public OffsetDateTime getShipDate() { - return shipDate; - } - - public void setShipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - } - - public Order status(StatusEnum status) { - this.status = status; - return this; - } - - /** - * Order Status - * @return status - */ - - @ApiModelProperty(value = "Order Status") - public StatusEnum getStatus() { - return status; - } - - public void setStatus(StatusEnum status) { - this.status = status; - } - - public Order complete(Boolean complete) { - this.complete = complete; - return this; - } - - /** - * Get complete - * @return complete - */ - - @ApiModelProperty(value = "") - public Boolean getComplete() { - return complete; - } - - public void setComplete(Boolean complete) { - this.complete = complete; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(this.id, order.id) && - Objects.equals(this.petId, order.petId) && - Objects.equals(this.quantity, order.quantity) && - Objects.equals(this.shipDate, order.shipDate) && - Objects.equals(this.status, order.status) && - Objects.equals(this.complete, order.complete); - } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Order {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); - sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); - sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); - sb.append(" status: ").append(toIndentedString(status)).append("\n"); - sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Tag.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Tag.java deleted file mode 100644 index b30aa3fd9a2..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Tag.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A tag for a pet - */ - -@ApiModel(description = "A tag for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Tag { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Tag id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Tag name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(this.id, tag.id) && - Objects.equals(this.name, tag.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Tag {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/User.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/User.java deleted file mode 100644 index 8d71f0fcc04..00000000000 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/User.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A User who is purchasing from the pet store - */ - -@ApiModel(description = "A User who is purchasing from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class User { - - @JsonProperty("id") - private Long id; - - @JsonProperty("username") - private String username; - - @JsonProperty("firstName") - private String firstName; - - @JsonProperty("lastName") - private String lastName; - - @JsonProperty("email") - private String email; - - @JsonProperty("password") - private String password; - - @JsonProperty("phone") - private String phone; - - @JsonProperty("userStatus") - private Integer userStatus; - - public User id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public User username(String username) { - this.username = username; - return this; - } - - /** - * Get username - * @return username - */ - - @ApiModelProperty(value = "") - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public User firstName(String firstName) { - this.firstName = firstName; - return this; - } - - /** - * Get firstName - * @return firstName - */ - - @ApiModelProperty(value = "") - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public User lastName(String lastName) { - this.lastName = lastName; - return this; - } - - /** - * Get lastName - * @return lastName - */ - - @ApiModelProperty(value = "") - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public User email(String email) { - this.email = email; - return this; - } - - /** - * Get email - * @return email - */ - - @ApiModelProperty(value = "") - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public User password(String password) { - this.password = password; - return this; - } - - /** - * Get password - * @return password - */ - - @ApiModelProperty(value = "") - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public User phone(String phone) { - this.phone = phone; - return this; - } - - /** - * Get phone - * @return phone - */ - - @ApiModelProperty(value = "") - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public User userStatus(Integer userStatus) { - this.userStatus = userStatus; - return this; - } - - /** - * User Status - * @return userStatus - */ - - @ApiModelProperty(value = "User Status") - public Integer getUserStatus() { - return userStatus; - } - - public void setUserStatus(Integer userStatus) { - this.userStatus = userStatus; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(this.id, user.id) && - Objects.equals(this.username, user.username) && - Objects.equals(this.firstName, user.firstName) && - Objects.equals(this.lastName, user.lastName) && - Objects.equals(this.email, user.email) && - Objects.equals(this.password, user.password) && - Objects.equals(this.phone, user.phone) && - Objects.equals(this.userStatus, user.userStatus); - } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class User {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" username: ").append(toIndentedString(username)).append("\n"); - sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); - sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); - sb.append(" email: ").append(toIndentedString(email)).append("\n"); - sb.append(" password: ").append(toIndentedString(password)).append("\n"); - sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); - sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator-ignore b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a3..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/FILES b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/FILES deleted file mode 100644 index 3510d2b2d27..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/FILES +++ /dev/null @@ -1,16 +0,0 @@ -README.md -pom.xml -src/main/java/org/openapitools/api/PetApi.java -src/main/java/org/openapitools/api/PetApiClient.java -src/main/java/org/openapitools/api/StoreApi.java -src/main/java/org/openapitools/api/StoreApiClient.java -src/main/java/org/openapitools/api/UserApi.java -src/main/java/org/openapitools/api/UserApiClient.java -src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java -src/main/java/org/openapitools/configuration/ClientConfiguration.java -src/main/java/org/openapitools/model/Category.java -src/main/java/org/openapitools/model/ModelApiResponse.java -src/main/java/org/openapitools/model/Order.java -src/main/java/org/openapitools/model/Pet.java -src/main/java/org/openapitools/model/Tag.java -src/main/java/org/openapitools/model/User.java diff --git a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION b/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION deleted file mode 100644 index 7f4d792ec2c..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.5.0-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud-spring-pageable/README.md b/samples/client/petstore/spring-cloud-spring-pageable/README.md deleted file mode 100644 index 6d07c5eb9af..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# spring-cloud-spring-pageable - -## Requirements - -Building the API client library requires [Maven](https://maven.apache.org/) to be installed. - -## Installation - -To install the API client library to your local Maven repository, simply execute: - -```shell -mvn install -``` - -To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: - -```shell -mvn deploy -``` - -Refer to the [official documentation](https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) for more information. - -### Maven users - -Add this dependency to your project's POM: - -```xml - - org.openapitools - spring-cloud-spring-pageable - 1.0.0 - compile - -``` - -### Gradle users - -Add this dependency to your project's build file: - -```groovy -compile "org.openapitools:spring-cloud-spring-pageable:1.0.0" -``` - -### Others - -At first generate the JAR by executing: - -mvn package - -Then manually install the following JARs: - -* target/spring-cloud-spring-pageable-1.0.0.jar -* target/lib/*.jar diff --git a/samples/client/petstore/spring-cloud-spring-pageable/pom.xml b/samples/client/petstore/spring-cloud-spring-pageable/pom.xml deleted file mode 100644 index 027c3fae62c..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - 4.0.0 - org.openapitools - spring-cloud-spring-pageable - jar - spring-cloud-spring-pageable - 1.0.0 - - 1.8 - ${java.version} - ${java.version} - UTF-8 - 2.9.2 - - - org.springframework.boot - spring-boot-starter-parent - 2.7.6 - - - - src/main/java - - - - - - org.springframework.cloud - spring-cloud-starter-parent - 2021.0.5 - pom - import - - - - - - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - - com.google.code.findbugs - jsr305 - 3.0.2 - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - org.springframework.cloud - spring-cloud-starter-oauth2 - 2.2.5.RELEASE - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - org.openapitools - jackson-databind-nullable - 0.2.6 - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.data - spring-data-commons - - - org.springframework.boot - spring-boot-starter-test - test - - - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java deleted file mode 100644 index 99777fe2496..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApi.java +++ /dev/null @@ -1,312 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import springfox.documentation.annotations.ApiIgnore; -import org.openapitools.model.ModelApiResponse; -import org.springframework.data.domain.Pageable; -import org.openapitools.model.Pet; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "pet", description = "Everything about your Pets") -public interface PetApi { - - /** - * POST /pet : Add a new pet to the store - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet", - consumes = "application/json" - ) - ResponseEntity addPet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ); - - - /** - * DELETE /pet/{petId} : Deletes a pet - * - * @param petId Pet id to delete (required) - * @param apiKey (optional) - * @return Invalid pet value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid pet value") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/pet/{petId}" - ) - ResponseEntity deletePet( - @ApiParam(value = "Pet id to delete", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "") @RequestHeader(value = "api_key", required = false) String apiKey - ); - - - /** - * GET /pet/findByStatus : Finds Pets by status - * Multiple status values can be provided with comma separated strings - * - * @param status Status values that need to be considered for filter (required) - * @return successful operation (status code 200) - * or Invalid status value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid status value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByStatus", - produces = "application/json" - ) - ResponseEntity> findPetsByStatus( - @NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) List status, - @ApiIgnore final Pageable pageable - ); - - - /** - * GET /pet/findByTags : Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * - * @param tags Tags to filter by (required) - * @return successful operation (status code 200) - * or Invalid tag value (status code 400) - * @deprecated - */ - @Deprecated - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid tag value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByTags", - produces = "application/json" - ) - ResponseEntity> findPetsByTags( - @NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) List tags, - @ApiIgnore final Pageable pageable - ); - - - /** - * GET /pet/{petId} : Find pet by ID - * Returns a single pet - * - * @param petId ID of pet to return (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - */ - @ApiOperation( - tags = { "pet" }, - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet.class, - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/{petId}", - produces = "application/json" - ) - ResponseEntity getPetById( - @ApiParam(value = "ID of pet to return", required = true) @PathVariable("petId") Long petId - ); - - - /** - * PUT /pet : Update an existing pet - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - * or Validation exception (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found"), - @ApiResponse(code = 405, message = "Validation exception") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/pet", - consumes = "application/json" - ) - ResponseEntity updatePet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ); - - - /** - * POST /pet/{petId} : Updates a pet in the store with form data - * - * @param petId ID of pet that needs to be updated (required) - * @param name Updated name of the pet (optional) - * @param status Updated status of the pet (optional) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}", - consumes = "application/x-www-form-urlencoded" - ) - ResponseEntity updatePetWithForm( - @ApiParam(value = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, - @ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status - ); - - - /** - * POST /pet/{petId}/uploadImage : uploads an image - * - * @param petId ID of pet to update (required) - * @param additionalMetadata Additional data to pass to server (optional) - * @param file file to upload (optional) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "pet" }, - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse.class, - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}/uploadImage", - produces = "application/json", - consumes = "multipart/form-data" - ) - ResponseEntity uploadFile( - @ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, - @ApiParam(value = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file - ); - -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApiClient.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApiClient.java deleted file mode 100644 index f80fe4ddc67..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/PetApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${pet.name:pet}", url="${pet.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface PetApiClient extends PetApi { -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java deleted file mode 100644 index 3d01a3785e5..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApi.java +++ /dev/null @@ -1,146 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.Map; -import org.openapitools.model.Order; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "store", description = "Access to Petstore orders") -public interface StoreApi { - - /** - * DELETE /store/order/{orderId} : Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * - * @param orderId ID of the order that needs to be deleted (required) - * @return Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors" - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/store/order/{orderId}" - ) - ResponseEntity deleteOrder( - @ApiParam(value = "ID of the order that needs to be deleted", required = true) @PathVariable("orderId") String orderId - ); - - - /** - * GET /store/inventory : Returns pet inventories by status - * Returns a map of status codes to quantities - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "store" }, - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = Integer.class, - responseContainer = "Map", - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/inventory", - produces = "application/json" - ) - ResponseEntity> getInventory( - - ); - - - /** - * GET /store/order/{orderId} : Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - * - * @param orderId ID of pet that needs to be fetched (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/order/{orderId}", - produces = "application/json" - ) - ResponseEntity getOrderById( - @Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required = true) @PathVariable("orderId") Long orderId - ); - - - /** - * POST /store/order : Place an order for a pet - * - * @param body order placed for purchasing the pet (required) - * @return successful operation (status code 200) - * or Invalid Order (status code 400) - */ - @ApiOperation( - tags = { "store" }, - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid Order") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/store/order", - produces = "application/json" - ) - ResponseEntity placeOrder( - @ApiParam(value = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body - ); - -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApiClient.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApiClient.java deleted file mode 100644 index 71d613a871d..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/StoreApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${store.name:store}", url="${store.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface StoreApiClient extends StoreApi { -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java deleted file mode 100644 index 3ee2989fe8d..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApi.java +++ /dev/null @@ -1,266 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.List; -import java.time.OffsetDateTime; -import org.openapitools.model.User; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "user", description = "Operations about user") -public interface UserApi { - - /** - * POST /user : Create user - * This can only be done by the logged in user. - * - * @param body Created user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user" - ) - ResponseEntity createUser( - @ApiParam(value = "Created user object", required = true) @Valid @RequestBody User body - ); - - - /** - * POST /user/createWithArray : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithArray" - ) - ResponseEntity createUsersWithArrayInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ); - - - /** - * POST /user/createWithList : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithList" - ) - ResponseEntity createUsersWithListInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ); - - - /** - * DELETE /user/{username} : Delete user - * This can only be done by the logged in user. - * - * @param username The name that needs to be deleted (required) - * @return Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/user/{username}" - ) - ResponseEntity deleteUser( - @ApiParam(value = "The name that needs to be deleted", required = true) @PathVariable("username") String username - ); - - - /** - * GET /user/{username} : Get user by user name - * - * @param username The name that needs to be fetched. Use user1 for testing. (required) - * @return successful operation (status code 200) - * or Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = User.class), - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/{username}", - produces = "application/json" - ) - ResponseEntity getUserByName( - @ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username - ); - - - /** - * GET /user/login : Logs user into the system - * - * @param username The user name for login (required) - * @param password The password for login in clear text (required) - * @return successful operation (status code 200) - * or Invalid username/password supplied (status code 400) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = String.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = String.class), - @ApiResponse(code = 400, message = "Invalid username/password supplied") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/login", - produces = "application/json" - ) - ResponseEntity loginUser( - @NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, - @NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password - ); - - - /** - * GET /user/logout : Logs out current logged in user session - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/logout" - ) - ResponseEntity logoutUser( - - ); - - - /** - * OPTIONS /user/logout : logoutUserOptions - * - * @return endpoint configuration response (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "logoutUserOptions", - nickname = "logoutUserOptions", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "endpoint configuration response") - }) - @RequestMapping( - method = RequestMethod.OPTIONS, - value = "/user/logout" - ) - ResponseEntity logoutUserOptions( - - ); - - - /** - * PUT /user/{username} : Updated user - * This can only be done by the logged in user. - * - * @param username name that need to be deleted (required) - * @param body Updated user object (required) - * @return Invalid user supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid user supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/user/{username}" - ) - ResponseEntity updateUser( - @ApiParam(value = "name that need to be deleted", required = true) @PathVariable("username") String username, - @ApiParam(value = "Updated user object", required = true) @Valid @RequestBody User body - ); - -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApiClient.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApiClient.java deleted file mode 100644 index 1db4598108d..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/api/UserApiClient.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.openapitools.api; - -import org.springframework.cloud.openfeign.FeignClient; -import org.openapitools.configuration.ClientConfiguration; - -@FeignClient(name="${user.name:user}", url="${user.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) -public interface UserApiClient extends UserApi { -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java deleted file mode 100644 index 199278dcb53..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ApiKeyRequestInterceptor.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.openapitools.configuration; - -import feign.RequestInterceptor; -import feign.RequestTemplate; -import feign.Util; - - -public class ApiKeyRequestInterceptor implements RequestInterceptor { - private final String location; - private final String name; - private String value; - - public ApiKeyRequestInterceptor(String location, String name, String value) { - Util.checkNotNull(location, "location", new Object[0]); - Util.checkNotNull(name, "name", new Object[0]); - Util.checkNotNull(value, "value", new Object[0]); - this.location = location; - this.name = name; - this.value = value; - } - - @Override - public void apply(RequestTemplate requestTemplate) { - if(location.equals("header")) { - requestTemplate.header(name, value); - } else if(location.equals("query")) { - requestTemplate.query(name, value); - } - } - -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ClientConfiguration.java deleted file mode 100644 index 49f1c66c11a..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/configuration/ClientConfiguration.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.openapitools.configuration; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.cloud.openfeign.security.OAuth2FeignRequestInterceptor; -import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; -import org.springframework.security.oauth2.client.OAuth2ClientContext; -import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; - -@Configuration -@EnableConfigurationProperties -public class ClientConfiguration { - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor(OAuth2ClientContext oAuth2ClientContext) { - return new OAuth2FeignRequestInterceptor(oAuth2ClientContext, petstoreAuthResourceDetails()); - } - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - public OAuth2ClientContext oAuth2ClientContext() { - return new DefaultOAuth2ClientContext(); - } - - @Bean - @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id") - @ConfigurationProperties("openapipetstore.security.petstoreAuth") - public ImplicitResourceDetails petstoreAuthResourceDetails() { - ImplicitResourceDetails details = new ImplicitResourceDetails(); - details.setUserAuthorizationUri("http://petstore.swagger.io/api/oauth/dialog"); - return details; - } - - @Value("${openapipetstore.security.apiKey.key:}") - private String apiKeyKey; - - @Bean - @ConditionalOnProperty(name = "openapipetstore.security.apiKey.key") - public ApiKeyRequestInterceptor apiKeyRequestInterceptor() { - return new ApiKeyRequestInterceptor("header", "api_key", this.apiKeyKey); - } - -} diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Category.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Category.java deleted file mode 100644 index 9f5ef4d9f1a..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Category.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A category for a pet - */ - -@ApiModel(description = "A category for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Category { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Category id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Category name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(this.id, category.id) && - Objects.equals(this.name, category.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Category {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/ModelApiResponse.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/ModelApiResponse.java deleted file mode 100644 index 52fb11fd3cf..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/ModelApiResponse.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * Describes the result of uploading an image resource - */ - -@ApiModel(description = "Describes the result of uploading an image resource") -@JsonTypeName("ApiResponse") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class ModelApiResponse { - - @JsonProperty("code") - private Integer code; - - @JsonProperty("type") - private String type; - - @JsonProperty("message") - private String message; - - public ModelApiResponse code(Integer code) { - this.code = code; - return this; - } - - /** - * Get code - * @return code - */ - - @ApiModelProperty(value = "") - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public ModelApiResponse type(String type) { - this.type = type; - return this; - } - - /** - * Get type - * @return type - */ - - @ApiModelProperty(value = "") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public ModelApiResponse message(String message) { - this.message = message; - return this; - } - - /** - * Get message - * @return message - */ - - @ApiModelProperty(value = "") - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(this.code, _apiResponse.code) && - Objects.equals(this.type, _apiResponse.type) && - Objects.equals(this.message, _apiResponse.message); - } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ModelApiResponse {\n"); - sb.append(" code: ").append(toIndentedString(code)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); - sb.append(" message: ").append(toIndentedString(message)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Order.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Order.java deleted file mode 100644 index 66d9df6dfd9..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Order.java +++ /dev/null @@ -1,246 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.OffsetDateTime; -import org.springframework.format.annotation.DateTimeFormat; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * An order for a pets from the pet store - */ - -@ApiModel(description = "An order for a pets from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Order { - - @JsonProperty("id") - private Long id; - - @JsonProperty("petId") - private Long petId; - - @JsonProperty("quantity") - private Integer quantity; - - @JsonProperty("shipDate") - @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) - private OffsetDateTime shipDate; - - /** - * Order Status - */ - public enum StatusEnum { - PLACED("placed"), - - APPROVED("approved"), - - DELIVERED("delivered"); - - private String value; - - StatusEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static StatusEnum fromValue(String value) { - for (StatusEnum b : StatusEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - - @JsonProperty("status") - private StatusEnum status; - - @JsonProperty("complete") - private Boolean complete = false; - - public Order id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Order petId(Long petId) { - this.petId = petId; - return this; - } - - /** - * Get petId - * @return petId - */ - - @ApiModelProperty(value = "") - public Long getPetId() { - return petId; - } - - public void setPetId(Long petId) { - this.petId = petId; - } - - public Order quantity(Integer quantity) { - this.quantity = quantity; - return this; - } - - /** - * Get quantity - * @return quantity - */ - - @ApiModelProperty(value = "") - public Integer getQuantity() { - return quantity; - } - - public void setQuantity(Integer quantity) { - this.quantity = quantity; - } - - public Order shipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - return this; - } - - /** - * Get shipDate - * @return shipDate - */ - @Valid - @ApiModelProperty(value = "") - public OffsetDateTime getShipDate() { - return shipDate; - } - - public void setShipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - } - - public Order status(StatusEnum status) { - this.status = status; - return this; - } - - /** - * Order Status - * @return status - */ - - @ApiModelProperty(value = "Order Status") - public StatusEnum getStatus() { - return status; - } - - public void setStatus(StatusEnum status) { - this.status = status; - } - - public Order complete(Boolean complete) { - this.complete = complete; - return this; - } - - /** - * Get complete - * @return complete - */ - - @ApiModelProperty(value = "") - public Boolean getComplete() { - return complete; - } - - public void setComplete(Boolean complete) { - this.complete = complete; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(this.id, order.id) && - Objects.equals(this.petId, order.petId) && - Objects.equals(this.quantity, order.quantity) && - Objects.equals(this.shipDate, order.shipDate) && - Objects.equals(this.status, order.status) && - Objects.equals(this.complete, order.complete); - } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Order {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); - sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); - sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); - sb.append(" status: ").append(toIndentedString(status)).append("\n"); - sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Tag.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Tag.java deleted file mode 100644 index b30aa3fd9a2..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/Tag.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A tag for a pet - */ - -@ApiModel(description = "A tag for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Tag { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Tag id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Tag name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(this.id, tag.id) && - Objects.equals(this.name, tag.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Tag {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/User.java b/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/User.java deleted file mode 100644 index 8d71f0fcc04..00000000000 --- a/samples/client/petstore/spring-cloud-spring-pageable/src/main/java/org/openapitools/model/User.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A User who is purchasing from the pet store - */ - -@ApiModel(description = "A User who is purchasing from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class User { - - @JsonProperty("id") - private Long id; - - @JsonProperty("username") - private String username; - - @JsonProperty("firstName") - private String firstName; - - @JsonProperty("lastName") - private String lastName; - - @JsonProperty("email") - private String email; - - @JsonProperty("password") - private String password; - - @JsonProperty("phone") - private String phone; - - @JsonProperty("userStatus") - private Integer userStatus; - - public User id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public User username(String username) { - this.username = username; - return this; - } - - /** - * Get username - * @return username - */ - - @ApiModelProperty(value = "") - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public User firstName(String firstName) { - this.firstName = firstName; - return this; - } - - /** - * Get firstName - * @return firstName - */ - - @ApiModelProperty(value = "") - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public User lastName(String lastName) { - this.lastName = lastName; - return this; - } - - /** - * Get lastName - * @return lastName - */ - - @ApiModelProperty(value = "") - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public User email(String email) { - this.email = email; - return this; - } - - /** - * Get email - * @return email - */ - - @ApiModelProperty(value = "") - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public User password(String password) { - this.password = password; - return this; - } - - /** - * Get password - * @return password - */ - - @ApiModelProperty(value = "") - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public User phone(String phone) { - this.phone = phone; - return this; - } - - /** - * Get phone - * @return phone - */ - - @ApiModelProperty(value = "") - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public User userStatus(Integer userStatus) { - this.userStatus = userStatus; - return this; - } - - /** - * User Status - * @return userStatus - */ - - @ApiModelProperty(value = "User Status") - public Integer getUserStatus() { - return userStatus; - } - - public void setUserStatus(Integer userStatus) { - this.userStatus = userStatus; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(this.id, user.id) && - Objects.equals(this.username, user.username) && - Objects.equals(this.firstName, user.firstName) && - Objects.equals(this.lastName, user.lastName) && - Objects.equals(this.email, user.email) && - Objects.equals(this.password, user.password) && - Objects.equals(this.phone, user.phone) && - Objects.equals(this.userStatus, user.userStatus); - } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class User {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" username: ").append(toIndentedString(username)).append("\n"); - sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); - sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); - sb.append(" email: ").append(toIndentedString(email)).append("\n"); - sb.append(" password: ").append(toIndentedString(password)).append("\n"); - sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); - sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java index 07fe6a8e9a5..a119abe880e 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/PetApi.java @@ -41,15 +41,22 @@ public interface PetApi { /** * POST /pet : Add a new pet to the store + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid input (status code 405) */ @Operation( operationId = "addPet", summary = "Add a new pet to the store", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "405", description = "Invalid input") }, security = { @@ -59,15 +66,17 @@ public interface PetApi { @RequestMapping( method = RequestMethod.POST, value = "/pet", + produces = "application/json", consumes = "application/json" ) - CompletableFuture> addPet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + CompletableFuture> addPet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ); /** * DELETE /pet/{petId} : Deletes a pet + * * * @param petId Pet id to delete (required) * @param apiKey (optional) @@ -76,6 +85,7 @@ public interface PetApi { @Operation( operationId = "deletePet", summary = "Deletes a pet", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "400", description = "Invalid pet value") @@ -115,7 +125,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid status value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -151,7 +161,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid tag value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -202,37 +212,49 @@ public interface PetApi { /** * PUT /pet : Update an existing pet + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) * or Pet not found (status code 404) * or Validation exception (status code 405) + * API documentation for the updatePet operation + * @see Update an existing pet Documentation */ @Operation( operationId = "updatePet", summary = "Update an existing pet", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), @ApiResponse(responseCode = "404", description = "Pet not found"), @ApiResponse(responseCode = "405", description = "Validation exception") }, security = { @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) - } + }, + externalDocs = @ExternalDocumentation(description = "API documentation for the updatePet operation", url = "http://petstore.swagger.io/v2/doc/updatePet") ) @RequestMapping( method = RequestMethod.PUT, value = "/pet", + produces = "application/json", consumes = "application/json" ) - CompletableFuture> updatePet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + CompletableFuture> updatePet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ); /** * POST /pet/{petId} : Updates a pet in the store with form data + * * * @param petId ID of pet that needs to be updated (required) * @param name Updated name of the pet (optional) @@ -242,6 +264,7 @@ public interface PetApi { @Operation( operationId = "updatePetWithForm", summary = "Updates a pet in the store with form data", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "405", description = "Invalid input") @@ -264,6 +287,7 @@ public interface PetApi { /** * POST /pet/{petId}/uploadImage : uploads an image + * * * @param petId ID of pet to update (required) * @param additionalMetadata Additional data to pass to server (optional) @@ -273,6 +297,7 @@ public interface PetApi { @Operation( operationId = "uploadFile", summary = "uploads an image", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java index 3f0ff1517fe..9e5d1ad6955 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/StoreApi.java @@ -131,14 +131,16 @@ public interface StoreApi { /** * POST /store/order : Place an order for a pet + * * - * @param body order placed for purchasing the pet (required) + * @param order order placed for purchasing the pet (required) * @return successful operation (status code 200) * or Invalid Order (status code 400) */ @Operation( operationId = "placeOrder", summary = "Place an order for a pet", + description = "", tags = { "store" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -151,10 +153,11 @@ public interface StoreApi { @RequestMapping( method = RequestMethod.POST, value = "/store/order", - produces = "application/json" + produces = "application/json", + consumes = "application/json" ) CompletableFuture> placeOrder( - @Parameter(name = "body", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body + @Parameter(name = "Order", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order order ); } diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java index c91b948c9a0..b435398acd3 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/api/UserApi.java @@ -44,7 +44,7 @@ public interface UserApi { * POST /user : Create user * This can only be done by the logged in user. * - * @param body Created user object (required) + * @param user Created user object (required) * @return successful operation (status code 200) */ @Operation( @@ -54,60 +54,76 @@ public interface UserApi { tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user" + value = "/user", + consumes = "application/json" ) CompletableFuture> createUser( - @Parameter(name = "body", description = "Created user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Created user object", required = true) @Valid @RequestBody User user ); /** * POST /user/createWithArray : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithArrayInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithArray" + value = "/user/createWithArray", + consumes = "application/json" ) CompletableFuture> createUsersWithArrayInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ); /** * POST /user/createWithList : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithListInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithList" + value = "/user/createWithList", + consumes = "application/json" ) CompletableFuture> createUsersWithListInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ); @@ -127,6 +143,9 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid username supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -140,6 +159,7 @@ public interface UserApi { /** * GET /user/{username} : Get user by user name + * * * @param username The name that needs to be fetched. Use user1 for testing. (required) * @return successful operation (status code 200) @@ -149,6 +169,7 @@ public interface UserApi { @Operation( operationId = "getUserByName", summary = "Get user by user name", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -171,6 +192,7 @@ public interface UserApi { /** * GET /user/login : Logs user into the system + * * * @param username The user name for login (required) * @param password The password for login in clear text (required) @@ -180,6 +202,7 @@ public interface UserApi { @Operation( operationId = "loginUser", summary = "Logs user into the system", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -195,22 +218,27 @@ public interface UserApi { produces = "application/json" ) CompletableFuture> loginUser( - @NotNull @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "password", required = true) String password ); /** * GET /user/logout : Logs out current logged in user session + * * * @return successful operation (status code 200) */ @Operation( operationId = "logoutUser", summary = "Logs out current logged in user session", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -227,7 +255,7 @@ public interface UserApi { * This can only be done by the logged in user. * * @param username name that need to be deleted (required) - * @param body Updated user object (required) + * @param user Updated user object (required) * @return Invalid user supplied (status code 400) * or User not found (status code 404) */ @@ -239,15 +267,19 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid user supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.PUT, - value = "/user/{username}" + value = "/user/{username}", + consumes = "application/json" ) CompletableFuture> updateUser( @Parameter(name = "username", description = "name that need to be deleted", required = true, in = ParameterIn.PATH) @PathVariable("username") String username, - @Parameter(name = "body", description = "Updated user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Updated user object", required = true) @Valid @RequestBody User user ); } diff --git a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java index 2a90a2f0a4f..18b55b13d16 100644 --- a/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java +++ b/samples/openapi3/client/petstore/spring-cloud-async/src/main/java/org/openapitools/model/Category.java @@ -56,7 +56,7 @@ public class Category { * Get name * @return name */ - + @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Schema(name = "name", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public String getName() { return name; diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java index 0c8523bbaff..e47e06fe14c 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/PetApi.java @@ -40,15 +40,22 @@ public interface PetApi { /** * POST /pet : Add a new pet to the store + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid input (status code 405) */ @Operation( operationId = "addPet", summary = "Add a new pet to the store", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "405", description = "Invalid input") }, security = { @@ -58,15 +65,17 @@ public interface PetApi { @RequestMapping( method = RequestMethod.POST, value = "/pet", + produces = "application/json", consumes = "application/json" ) - ResponseEntity addPet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + ResponseEntity addPet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ) throws Exception; /** * DELETE /pet/{petId} : Deletes a pet + * * * @param petId Pet id to delete (required) * @param apiKey (optional) @@ -75,6 +84,7 @@ public interface PetApi { @Operation( operationId = "deletePet", summary = "Deletes a pet", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "400", description = "Invalid pet value") @@ -114,7 +124,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid status value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -150,7 +160,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid tag value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -201,37 +211,49 @@ public interface PetApi { /** * PUT /pet : Update an existing pet + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) * or Pet not found (status code 404) * or Validation exception (status code 405) + * API documentation for the updatePet operation + * @see Update an existing pet Documentation */ @Operation( operationId = "updatePet", summary = "Update an existing pet", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), @ApiResponse(responseCode = "404", description = "Pet not found"), @ApiResponse(responseCode = "405", description = "Validation exception") }, security = { @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) - } + }, + externalDocs = @ExternalDocumentation(description = "API documentation for the updatePet operation", url = "http://petstore.swagger.io/v2/doc/updatePet") ) @RequestMapping( method = RequestMethod.PUT, value = "/pet", + produces = "application/json", consumes = "application/json" ) - ResponseEntity updatePet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + ResponseEntity updatePet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ) throws Exception; /** * POST /pet/{petId} : Updates a pet in the store with form data + * * * @param petId ID of pet that needs to be updated (required) * @param name Updated name of the pet (optional) @@ -241,6 +263,7 @@ public interface PetApi { @Operation( operationId = "updatePetWithForm", summary = "Updates a pet in the store with form data", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "405", description = "Invalid input") @@ -263,6 +286,7 @@ public interface PetApi { /** * POST /pet/{petId}/uploadImage : uploads an image + * * * @param petId ID of pet to update (required) * @param additionalMetadata Additional data to pass to server (optional) @@ -272,6 +296,7 @@ public interface PetApi { @Operation( operationId = "uploadFile", summary = "uploads an image", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java index 74f5f38a056..3b17078a953 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/StoreApi.java @@ -130,14 +130,16 @@ public interface StoreApi { /** * POST /store/order : Place an order for a pet + * * - * @param body order placed for purchasing the pet (required) + * @param order order placed for purchasing the pet (required) * @return successful operation (status code 200) * or Invalid Order (status code 400) */ @Operation( operationId = "placeOrder", summary = "Place an order for a pet", + description = "", tags = { "store" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -150,10 +152,11 @@ public interface StoreApi { @RequestMapping( method = RequestMethod.POST, value = "/store/order", - produces = "application/json" + produces = "application/json", + consumes = "application/json" ) ResponseEntity placeOrder( - @Parameter(name = "body", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body + @Parameter(name = "Order", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order order ) throws Exception; } diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java index 8af73af9024..401408be66a 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/api/UserApi.java @@ -43,7 +43,7 @@ public interface UserApi { * POST /user : Create user * This can only be done by the logged in user. * - * @param body Created user object (required) + * @param user Created user object (required) * @return successful operation (status code 200) */ @Operation( @@ -53,60 +53,76 @@ public interface UserApi { tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user" + value = "/user", + consumes = "application/json" ) ResponseEntity createUser( - @Parameter(name = "body", description = "Created user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Created user object", required = true) @Valid @RequestBody User user ) throws Exception; /** * POST /user/createWithArray : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithArrayInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithArray" + value = "/user/createWithArray", + consumes = "application/json" ) ResponseEntity createUsersWithArrayInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ) throws Exception; /** * POST /user/createWithList : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithListInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithList" + value = "/user/createWithList", + consumes = "application/json" ) ResponseEntity createUsersWithListInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ) throws Exception; @@ -126,6 +142,9 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid username supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -139,6 +158,7 @@ public interface UserApi { /** * GET /user/{username} : Get user by user name + * * * @param username The name that needs to be fetched. Use user1 for testing. (required) * @return successful operation (status code 200) @@ -148,6 +168,7 @@ public interface UserApi { @Operation( operationId = "getUserByName", summary = "Get user by user name", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -170,6 +191,7 @@ public interface UserApi { /** * GET /user/login : Logs user into the system + * * * @param username The user name for login (required) * @param password The password for login in clear text (required) @@ -179,6 +201,7 @@ public interface UserApi { @Operation( operationId = "loginUser", summary = "Logs user into the system", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -194,22 +217,27 @@ public interface UserApi { produces = "application/json" ) ResponseEntity loginUser( - @NotNull @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "password", required = true) String password ) throws Exception; /** * GET /user/logout : Logs out current logged in user session + * * * @return successful operation (status code 200) */ @Operation( operationId = "logoutUser", summary = "Logs out current logged in user session", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -226,7 +254,7 @@ public interface UserApi { * This can only be done by the logged in user. * * @param username name that need to be deleted (required) - * @param body Updated user object (required) + * @param user Updated user object (required) * @return Invalid user supplied (status code 400) * or User not found (status code 404) */ @@ -238,15 +266,19 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid user supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.PUT, - value = "/user/{username}" + value = "/user/{username}", + consumes = "application/json" ) ResponseEntity updateUser( @Parameter(name = "username", description = "name that need to be deleted", required = true, in = ParameterIn.PATH) @PathVariable("username") String username, - @Parameter(name = "body", description = "Updated user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Updated user object", required = true) @Valid @RequestBody User user ) throws Exception; } diff --git a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/model/Category.java b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/model/Category.java index 2a90a2f0a4f..18b55b13d16 100644 --- a/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/model/Category.java +++ b/samples/openapi3/client/petstore/spring-stubs-skip-default-interface/src/main/java/org/openapitools/model/Category.java @@ -56,7 +56,7 @@ public class Category { * Get name * @return name */ - + @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Schema(name = "name", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public String getName() { return name; diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java index 6257b5d0c73..c64c29ae3f8 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java @@ -44,15 +44,22 @@ public interface PetApi { /** * POST /pet : Add a new pet to the store + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid input (status code 405) */ @Operation( operationId = "addPet", summary = "Add a new pet to the store", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "405", description = "Invalid input") }, security = { @@ -62,11 +69,26 @@ public interface PetApi { @RequestMapping( method = RequestMethod.POST, value = "/pet", + produces = "application/json", consumes = "application/json" ) - default ResponseEntity addPet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + default ResponseEntity addPet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 123456789 aeiou doggie aeiou 123456789 aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } @@ -74,6 +96,7 @@ public interface PetApi { /** * DELETE /pet/{petId} : Deletes a pet + * * * @param petId Pet id to delete (required) * @param apiKey (optional) @@ -82,6 +105,7 @@ public interface PetApi { @Operation( operationId = "deletePet", summary = "Deletes a pet", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "400", description = "Invalid pet value") @@ -124,7 +148,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid status value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -177,7 +201,7 @@ public interface PetApi { @ApiResponse(responseCode = "400", description = "Invalid tag value") }, security = { - @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) + @SecurityRequirement(name = "petstore_auth", scopes={ "read:pets" }) } ) @RequestMapping( @@ -262,33 +286,58 @@ public interface PetApi { /** * PUT /pet : Update an existing pet + * * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) + * @param pet Pet object that needs to be added to the store (required) + * @return successful operation (status code 200) + * or Invalid ID supplied (status code 400) * or Pet not found (status code 404) * or Validation exception (status code 405) + * API documentation for the updatePet operation + * @see Update an existing pet Documentation */ @Operation( operationId = "updatePet", summary = "Update an existing pet", + description = "", tags = { "pet" }, responses = { + @ApiResponse(responseCode = "200", description = "successful operation", content = { + @Content(mediaType = "application/xml", schema = @Schema(implementation = Pet.class)), + @Content(mediaType = "application/json", schema = @Schema(implementation = Pet.class)) + }), @ApiResponse(responseCode = "400", description = "Invalid ID supplied"), @ApiResponse(responseCode = "404", description = "Pet not found"), @ApiResponse(responseCode = "405", description = "Validation exception") }, security = { @SecurityRequirement(name = "petstore_auth", scopes={ "write:pets", "read:pets" }) - } + }, + externalDocs = @ExternalDocumentation(description = "API documentation for the updatePet operation", url = "http://petstore.swagger.io/v2/doc/updatePet") ) @RequestMapping( method = RequestMethod.PUT, value = "/pet", + produces = "application/json", consumes = "application/json" ) - default ResponseEntity updatePet( - @Parameter(name = "body", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body + default ResponseEntity updatePet( + @Parameter(name = "Pet", description = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet pet ) { + getRequest().ifPresent(request -> { + for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { + if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { + String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; + ApiUtil.setExampleResponse(request, "application/json", exampleString); + break; + } + if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { + String exampleString = " 123456789 doggie aeiou aeiou "; + ApiUtil.setExampleResponse(request, "application/xml", exampleString); + break; + } + } + }); return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } @@ -296,6 +345,7 @@ public interface PetApi { /** * POST /pet/{petId} : Updates a pet in the store with form data + * * * @param petId ID of pet that needs to be updated (required) * @param name Updated name of the pet (optional) @@ -305,6 +355,7 @@ public interface PetApi { @Operation( operationId = "updatePetWithForm", summary = "Updates a pet in the store with form data", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "405", description = "Invalid input") @@ -330,6 +381,7 @@ public interface PetApi { /** * POST /pet/{petId}/uploadImage : uploads an image + * * * @param petId ID of pet to update (required) * @param additionalMetadata Additional data to pass to server (optional) @@ -339,6 +391,7 @@ public interface PetApi { @Operation( operationId = "uploadFile", summary = "uploads an image", + description = "", tags = { "pet" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java index f3382db4c24..f6ec18a8e76 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java @@ -157,14 +157,16 @@ public interface StoreApi { /** * POST /store/order : Place an order for a pet + * * - * @param body order placed for purchasing the pet (required) + * @param order order placed for purchasing the pet (required) * @return successful operation (status code 200) * or Invalid Order (status code 400) */ @Operation( operationId = "placeOrder", summary = "Place an order for a pet", + description = "", tags = { "store" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -177,10 +179,11 @@ public interface StoreApi { @RequestMapping( method = RequestMethod.POST, value = "/store/order", - produces = "application/json" + produces = "application/json", + consumes = "application/json" ) default ResponseEntity placeOrder( - @Parameter(name = "body", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body + @Parameter(name = "Order", description = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order order ) { getRequest().ifPresent(request -> { for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java index 4be8545c355..9776ebf7a4b 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java @@ -47,7 +47,7 @@ public interface UserApi { * POST /user : Create user * This can only be done by the logged in user. * - * @param body Created user object (required) + * @param user Created user object (required) * @return successful operation (status code 200) */ @Operation( @@ -57,14 +57,18 @@ public interface UserApi { tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user" + value = "/user", + consumes = "application/json" ) default ResponseEntity createUser( - @Parameter(name = "body", description = "Created user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Created user object", required = true) @Valid @RequestBody User user ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -73,24 +77,30 @@ public interface UserApi { /** * POST /user/createWithArray : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithArrayInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithArray" + value = "/user/createWithArray", + consumes = "application/json" ) default ResponseEntity createUsersWithArrayInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -99,24 +109,30 @@ public interface UserApi { /** * POST /user/createWithList : Creates list of users with given input array + * * - * @param body List of user object (required) + * @param user List of user object (required) * @return successful operation (status code 200) */ @Operation( operationId = "createUsersWithListInput", summary = "Creates list of users with given input array", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.POST, - value = "/user/createWithList" + value = "/user/createWithList", + consumes = "application/json" ) default ResponseEntity createUsersWithListInput( - @Parameter(name = "body", description = "List of user object", required = true) @Valid @RequestBody List body + @Parameter(name = "User", description = "List of user object", required = true) @Valid @RequestBody List user ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -139,6 +155,9 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid username supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -155,6 +174,7 @@ public interface UserApi { /** * GET /user/{username} : Get user by user name + * * * @param username The name that needs to be fetched. Use user1 for testing. (required) * @return successful operation (status code 200) @@ -164,6 +184,7 @@ public interface UserApi { @Operation( operationId = "getUserByName", summary = "Get user by user name", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -203,6 +224,7 @@ public interface UserApi { /** * GET /user/login : Logs user into the system + * * * @param username The user name for login (required) * @param password The password for login in clear text (required) @@ -212,6 +234,7 @@ public interface UserApi { @Operation( operationId = "loginUser", summary = "Logs user into the system", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "200", description = "successful operation", content = { @@ -227,7 +250,7 @@ public interface UserApi { produces = "application/json" ) default ResponseEntity loginUser( - @NotNull @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, + @NotNull @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Parameter(name = "username", description = "The user name for login", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "username", required = true) String username, @NotNull @Parameter(name = "password", description = "The password for login in clear text", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "password", required = true) String password ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); @@ -237,15 +260,20 @@ public interface UserApi { /** * GET /user/logout : Logs out current logged in user session + * * * @return successful operation (status code 200) */ @Operation( operationId = "logoutUser", summary = "Logs out current logged in user session", + description = "", tags = { "user" }, responses = { @ApiResponse(responseCode = "default", description = "successful operation") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( @@ -265,7 +293,7 @@ public interface UserApi { * This can only be done by the logged in user. * * @param username name that need to be deleted (required) - * @param body Updated user object (required) + * @param user Updated user object (required) * @return Invalid user supplied (status code 400) * or User not found (status code 404) */ @@ -277,15 +305,19 @@ public interface UserApi { responses = { @ApiResponse(responseCode = "400", description = "Invalid user supplied"), @ApiResponse(responseCode = "404", description = "User not found") + }, + security = { + @SecurityRequirement(name = "api_key") } ) @RequestMapping( method = RequestMethod.PUT, - value = "/user/{username}" + value = "/user/{username}", + consumes = "application/json" ) default ResponseEntity updateUser( @Parameter(name = "username", description = "name that need to be deleted", required = true, in = ParameterIn.PATH) @PathVariable("username") String username, - @Parameter(name = "body", description = "Updated user object", required = true) @Valid @RequestBody User body + @Parameter(name = "User", description = "Updated user object", required = true) @Valid @RequestBody User user ) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); diff --git a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java index 2a90a2f0a4f..18b55b13d16 100644 --- a/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java +++ b/samples/openapi3/client/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java @@ -56,7 +56,7 @@ public class Category { * Get name * @return name */ - + @Pattern(regexp = "^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$") @Schema(name = "name", requiredMode = Schema.RequiredMode.NOT_REQUIRED) public String getName() { return name; diff --git a/samples/server/petstore/spring-stubs/.openapi-generator-ignore b/samples/server/petstore/spring-stubs/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a3..00000000000 --- a/samples/server/petstore/spring-stubs/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/samples/server/petstore/spring-stubs/.openapi-generator/FILES b/samples/server/petstore/spring-stubs/.openapi-generator/FILES deleted file mode 100644 index 87837793235..00000000000 --- a/samples/server/petstore/spring-stubs/.openapi-generator/FILES +++ /dev/null @@ -1,12 +0,0 @@ -README.md -pom.xml -src/main/java/org/openapitools/api/ApiUtil.java -src/main/java/org/openapitools/api/PetApi.java -src/main/java/org/openapitools/api/StoreApi.java -src/main/java/org/openapitools/api/UserApi.java -src/main/java/org/openapitools/model/Category.java -src/main/java/org/openapitools/model/ModelApiResponse.java -src/main/java/org/openapitools/model/Order.java -src/main/java/org/openapitools/model/Pet.java -src/main/java/org/openapitools/model/Tag.java -src/main/java/org/openapitools/model/User.java diff --git a/samples/server/petstore/spring-stubs/.openapi-generator/VERSION b/samples/server/petstore/spring-stubs/.openapi-generator/VERSION deleted file mode 100644 index 7f4d792ec2c..00000000000 --- a/samples/server/petstore/spring-stubs/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -6.5.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/spring-stubs/README.md b/samples/server/petstore/spring-stubs/README.md deleted file mode 100644 index d43a1de307d..00000000000 --- a/samples/server/petstore/spring-stubs/README.md +++ /dev/null @@ -1,27 +0,0 @@ - -# OpenAPI generated API stub - -Spring Framework stub - - -## Overview -This code was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. -By using the [OpenAPI-Spec](https://openapis.org), you can easily generate an API stub. -This is an example of building API stub interfaces in Java using the Spring framework. - -The stubs generated can be used in your existing Spring-MVC or Spring-Boot application to create controller endpoints -by adding ```@Controller``` classes that implement the interface. Eg: -```java -@Controller -public class PetController implements PetApi { -// implement all PetApi methods -} -``` - -You can also use the interface to create [Spring-Cloud Feign clients](http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).Eg: -```java -@FeignClient(name="pet", url="http://petstore.swagger.io/v2") -public interface PetClient extends PetApi { - -} -``` diff --git a/samples/server/petstore/spring-stubs/pom.xml b/samples/server/petstore/spring-stubs/pom.xml deleted file mode 100644 index c7768e6f120..00000000000 --- a/samples/server/petstore/spring-stubs/pom.xml +++ /dev/null @@ -1,83 +0,0 @@ - - 4.0.0 - org.openapitools - spring-stubs - jar - spring-stubs - 1.0.0 - - 1.8 - ${java.version} - ${java.version} - UTF-8 - 2.9.2 - 4.15.5 - - - org.springframework.boot - spring-boot-starter-parent - 2.5.14 - - - - src/main/java - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.data - spring-data-commons - - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - org.webjars - swagger-ui - ${swagger-ui.version} - - - org.webjars - webjars-locator-core - - - - com.google.code.findbugs - jsr305 - 3.0.2 - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - org.openapitools - jackson-databind-nullable - 0.2.6 - - - - org.springframework.boot - spring-boot-starter-validation - - - com.fasterxml.jackson.core - jackson-databind - - - org.springframework.boot - spring-boot-starter-test - test - - - diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java deleted file mode 100644 index 1245b1dd0cc..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.openapitools.api; - -import org.springframework.web.context.request.NativeWebRequest; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -public class ApiUtil { - public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { - try { - HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); - res.setCharacterEncoding("UTF-8"); - res.addHeader("Content-Type", contentType); - res.getWriter().print(example); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java deleted file mode 100644 index cc1b435e472..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/PetApi.java +++ /dev/null @@ -1,387 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import org.openapitools.model.ModelApiResponse; -import org.openapitools.model.Pet; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "pet", description = "Everything about your Pets") -public interface PetApi { - - default Optional getRequest() { - return Optional.empty(); - } - - /** - * POST /pet : Add a new pet to the store - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet", - consumes = "application/json" - ) - default ResponseEntity addPet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * DELETE /pet/{petId} : Deletes a pet - * - * @param petId Pet id to delete (required) - * @param apiKey (optional) - * @return Invalid pet value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid pet value") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/pet/{petId}" - ) - default ResponseEntity deletePet( - @ApiParam(value = "Pet id to delete", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "") @RequestHeader(value = "api_key", required = false) String apiKey - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /pet/findByStatus : Finds Pets by status - * Multiple status values can be provided with comma separated strings - * - * @param status Status values that need to be considered for filter (required) - * @return successful operation (status code 200) - * or Invalid status value (status code 400) - */ - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid status value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByStatus", - produces = "application/json" - ) - default ResponseEntity> findPetsByStatus( - @NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) List status - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "[ { \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }, { \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" } ]"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 123456789 aeiou doggie aeiou 123456789 aeiou aeiou "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /pet/findByTags : Finds Pets by tags - * Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - * - * @param tags Tags to filter by (required) - * @return successful operation (status code 200) - * or Invalid tag value (status code 400) - * @deprecated - */ - @Deprecated - @ApiOperation( - tags = { "pet" }, - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet.class, - responseContainer = "List", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"), - @ApiResponse(code = 400, message = "Invalid tag value") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/findByTags", - produces = "application/json" - ) - default ResponseEntity> findPetsByTags( - @NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) List tags - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "[ { \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }, { \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" } ]"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 123456789 aeiou doggie aeiou 123456789 aeiou aeiou "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /pet/{petId} : Find pet by ID - * Returns a single pet - * - * @param petId ID of pet to return (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - */ - @ApiOperation( - tags = { "pet" }, - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet.class, - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Pet.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/pet/{petId}", - produces = "application/json" - ) - default ResponseEntity getPetById( - @ApiParam(value = "ID of pet to return", required = true) @PathVariable("petId") Long petId - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "{ \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"name\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"name\", \"id\" : 1 }, { \"name\" : \"name\", \"id\" : 1 } ], \"status\" : \"available\" }"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 123456789 aeiou doggie aeiou 123456789 aeiou aeiou "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * PUT /pet : Update an existing pet - * - * @param body Pet object that needs to be added to the store (required) - * @return Invalid ID supplied (status code 400) - * or Pet not found (status code 404) - * or Validation exception (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Pet not found"), - @ApiResponse(code = 405, message = "Validation exception") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/pet", - consumes = "application/json" - ) - default ResponseEntity updatePet( - @ApiParam(value = "Pet object that needs to be added to the store", required = true) @Valid @RequestBody Pet body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * POST /pet/{petId} : Updates a pet in the store with form data - * - * @param petId ID of pet that needs to be updated (required) - * @param name Updated name of the pet (optional) - * @param status Updated status of the pet (optional) - * @return Invalid input (status code 405) - */ - @ApiOperation( - tags = { "pet" }, - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 405, message = "Invalid input") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}", - consumes = "application/x-www-form-urlencoded" - ) - default ResponseEntity updatePetWithForm( - @ApiParam(value = "ID of pet that needs to be updated", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Updated name of the pet") @Valid @RequestParam(value = "name", required = false) String name, - @ApiParam(value = "Updated status of the pet") @Valid @RequestParam(value = "status", required = false) String status - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * POST /pet/{petId}/uploadImage : uploads an image - * - * @param petId ID of pet to update (required) - * @param additionalMetadata Additional data to pass to server (optional) - * @param file file to upload (optional) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "pet" }, - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse.class, - authorizations = { - @Authorization(value = "petstore_auth", scopes = { - @AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), - @AuthorizationScope(scope = "read:pets", description = "read your pets") - }) - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/pet/{petId}/uploadImage", - produces = "application/json", - consumes = "multipart/form-data" - ) - default ResponseEntity uploadFile( - @ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId, - @ApiParam(value = "Additional data to pass to server") @Valid @RequestParam(value = "additionalMetadata", required = false) String additionalMetadata, - @ApiParam(value = "file to upload") @RequestPart(value = "file", required = false) MultipartFile file - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - -} diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java deleted file mode 100644 index 5d356e58266..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/StoreApi.java +++ /dev/null @@ -1,190 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.Map; -import org.openapitools.model.Order; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "store", description = "Access to Petstore orders") -public interface StoreApi { - - default Optional getRequest() { - return Optional.empty(); - } - - /** - * DELETE /store/order/{orderId} : Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * - * @param orderId ID of the order that needs to be deleted (required) - * @return Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors" - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/store/order/{orderId}" - ) - default ResponseEntity deleteOrder( - @ApiParam(value = "ID of the order that needs to be deleted", required = true) @PathVariable("orderId") String orderId - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /store/inventory : Returns pet inventories by status - * Returns a map of status codes to quantities - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "store" }, - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = Integer.class, - responseContainer = "Map", - authorizations = { - @Authorization(value = "api_key") - } - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/inventory", - produces = "application/json" - ) - default ResponseEntity> getInventory( - - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /store/order/{orderId} : Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions - * - * @param orderId ID of pet that needs to be fetched (required) - * @return successful operation (status code 200) - * or Invalid ID supplied (status code 400) - * or Order not found (status code 404) - */ - @ApiOperation( - tags = { "store" }, - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid ID supplied"), - @ApiResponse(code = 404, message = "Order not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/store/order/{orderId}", - produces = "application/json" - ) - default ResponseEntity getOrderById( - @Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required = true) @PathVariable("orderId") Long orderId - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 123456789 123 2000-01-23T04:56:07.000Z aeiou true "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * POST /store/order : Place an order for a pet - * - * @param body order placed for purchasing the pet (required) - * @return successful operation (status code 200) - * or Invalid Order (status code 400) - */ - @ApiOperation( - tags = { "store" }, - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = Order.class), - @ApiResponse(code = 400, message = "Invalid Order") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/store/order", - produces = "application/json" - ) - default ResponseEntity placeOrder( - @ApiParam(value = "order placed for purchasing the pet", required = true) @Valid @RequestBody Order body - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\" }"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 123456789 123 2000-01-23T04:56:07.000Z aeiou true "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - -} diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java deleted file mode 100644 index 26b1f455a7a..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/api/UserApi.java +++ /dev/null @@ -1,285 +0,0 @@ -/** - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (6.5.0-SNAPSHOT). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -package org.openapitools.api; - -import java.util.List; -import java.time.OffsetDateTime; -import org.openapitools.model.User; -import io.swagger.annotations.*; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import javax.validation.constraints.*; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import javax.annotation.Generated; - -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -@Validated -@Api(value = "user", description = "Operations about user") -public interface UserApi { - - default Optional getRequest() { - return Optional.empty(); - } - - /** - * POST /user : Create user - * This can only be done by the logged in user. - * - * @param body Created user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user" - ) - default ResponseEntity createUser( - @ApiParam(value = "Created user object", required = true) @Valid @RequestBody User body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * POST /user/createWithArray : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithArray" - ) - default ResponseEntity createUsersWithArrayInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * POST /user/createWithList : Creates list of users with given input array - * - * @param body List of user object (required) - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.POST, - value = "/user/createWithList" - ) - default ResponseEntity createUsersWithListInput( - @ApiParam(value = "List of user object", required = true) @Valid @RequestBody List body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * DELETE /user/{username} : Delete user - * This can only be done by the logged in user. - * - * @param username The name that needs to be deleted (required) - * @return Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.DELETE, - value = "/user/{username}" - ) - default ResponseEntity deleteUser( - @ApiParam(value = "The name that needs to be deleted", required = true) @PathVariable("username") String username - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /user/{username} : Get user by user name - * - * @param username The name that needs to be fetched. Use user1 for testing. (required) - * @return successful operation (status code 200) - * or Invalid username supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = User.class), - @ApiResponse(code = 400, message = "Invalid username supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/{username}", - produces = "application/json" - ) - default ResponseEntity getUserByName( - @ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required = true) @PathVariable("username") String username - ) { - getRequest().ifPresent(request -> { - for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) { - if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) { - String exampleString = "{ \"firstName\" : \"firstName\", \"lastName\" : \"lastName\", \"password\" : \"password\", \"userStatus\" : 6, \"phone\" : \"phone\", \"id\" : 0, \"email\" : \"email\", \"username\" : \"username\" }"; - ApiUtil.setExampleResponse(request, "application/json", exampleString); - break; - } - if (mediaType.isCompatibleWith(MediaType.valueOf("application/xml"))) { - String exampleString = " 123456789 aeiou aeiou aeiou aeiou aeiou aeiou 123 "; - ApiUtil.setExampleResponse(request, "application/xml", exampleString); - break; - } - } - }); - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /user/login : Logs user into the system - * - * @param username The user name for login (required) - * @param password The password for login in clear text (required) - * @return successful operation (status code 200) - * or Invalid username/password supplied (status code 400) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = String.class - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation", response = String.class), - @ApiResponse(code = 400, message = "Invalid username/password supplied") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/login", - produces = "application/json" - ) - default ResponseEntity loginUser( - @NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username, - @NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * GET /user/logout : Logs out current logged in user session - * - * @return successful operation (status code 200) - */ - @ApiOperation( - tags = { "user" }, - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "" - ) - @ApiResponses({ - @ApiResponse(code = 200, message = "successful operation") - }) - @RequestMapping( - method = RequestMethod.GET, - value = "/user/logout" - ) - default ResponseEntity logoutUser( - - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - - - /** - * PUT /user/{username} : Updated user - * This can only be done by the logged in user. - * - * @param username name that need to be deleted (required) - * @param body Updated user object (required) - * @return Invalid user supplied (status code 400) - * or User not found (status code 404) - */ - @ApiOperation( - tags = { "user" }, - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user." - ) - @ApiResponses({ - @ApiResponse(code = 400, message = "Invalid user supplied"), - @ApiResponse(code = 404, message = "User not found") - }) - @RequestMapping( - method = RequestMethod.PUT, - value = "/user/{username}" - ) - default ResponseEntity updateUser( - @ApiParam(value = "name that need to be deleted", required = true) @PathVariable("username") String username, - @ApiParam(value = "Updated user object", required = true) @Valid @RequestBody User body - ) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - - } - -} diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java deleted file mode 100644 index 9f5ef4d9f1a..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Category.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A category for a pet - */ - -@ApiModel(description = "A category for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Category { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Category id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Category name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Category category = (Category) o; - return Objects.equals(this.id, category.id) && - Objects.equals(this.name, category.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Category {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/ModelApiResponse.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/ModelApiResponse.java deleted file mode 100644 index 52fb11fd3cf..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/ModelApiResponse.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonTypeName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * Describes the result of uploading an image resource - */ - -@ApiModel(description = "Describes the result of uploading an image resource") -@JsonTypeName("ApiResponse") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class ModelApiResponse { - - @JsonProperty("code") - private Integer code; - - @JsonProperty("type") - private String type; - - @JsonProperty("message") - private String message; - - public ModelApiResponse code(Integer code) { - this.code = code; - return this; - } - - /** - * Get code - * @return code - */ - - @ApiModelProperty(value = "") - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public ModelApiResponse type(String type) { - this.type = type; - return this; - } - - /** - * Get type - * @return type - */ - - @ApiModelProperty(value = "") - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public ModelApiResponse message(String message) { - this.message = message; - return this; - } - - /** - * Get message - * @return message - */ - - @ApiModelProperty(value = "") - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ModelApiResponse _apiResponse = (ModelApiResponse) o; - return Objects.equals(this.code, _apiResponse.code) && - Objects.equals(this.type, _apiResponse.type) && - Objects.equals(this.message, _apiResponse.message); - } - - @Override - public int hashCode() { - return Objects.hash(code, type, message); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ModelApiResponse {\n"); - sb.append(" code: ").append(toIndentedString(code)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); - sb.append(" message: ").append(toIndentedString(message)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Order.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Order.java deleted file mode 100644 index 66d9df6dfd9..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Order.java +++ /dev/null @@ -1,246 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.OffsetDateTime; -import org.springframework.format.annotation.DateTimeFormat; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * An order for a pets from the pet store - */ - -@ApiModel(description = "An order for a pets from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Order { - - @JsonProperty("id") - private Long id; - - @JsonProperty("petId") - private Long petId; - - @JsonProperty("quantity") - private Integer quantity; - - @JsonProperty("shipDate") - @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) - private OffsetDateTime shipDate; - - /** - * Order Status - */ - public enum StatusEnum { - PLACED("placed"), - - APPROVED("approved"), - - DELIVERED("delivered"); - - private String value; - - StatusEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static StatusEnum fromValue(String value) { - for (StatusEnum b : StatusEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - - @JsonProperty("status") - private StatusEnum status; - - @JsonProperty("complete") - private Boolean complete = false; - - public Order id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Order petId(Long petId) { - this.petId = petId; - return this; - } - - /** - * Get petId - * @return petId - */ - - @ApiModelProperty(value = "") - public Long getPetId() { - return petId; - } - - public void setPetId(Long petId) { - this.petId = petId; - } - - public Order quantity(Integer quantity) { - this.quantity = quantity; - return this; - } - - /** - * Get quantity - * @return quantity - */ - - @ApiModelProperty(value = "") - public Integer getQuantity() { - return quantity; - } - - public void setQuantity(Integer quantity) { - this.quantity = quantity; - } - - public Order shipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - return this; - } - - /** - * Get shipDate - * @return shipDate - */ - @Valid - @ApiModelProperty(value = "") - public OffsetDateTime getShipDate() { - return shipDate; - } - - public void setShipDate(OffsetDateTime shipDate) { - this.shipDate = shipDate; - } - - public Order status(StatusEnum status) { - this.status = status; - return this; - } - - /** - * Order Status - * @return status - */ - - @ApiModelProperty(value = "Order Status") - public StatusEnum getStatus() { - return status; - } - - public void setStatus(StatusEnum status) { - this.status = status; - } - - public Order complete(Boolean complete) { - this.complete = complete; - return this; - } - - /** - * Get complete - * @return complete - */ - - @ApiModelProperty(value = "") - public Boolean getComplete() { - return complete; - } - - public void setComplete(Boolean complete) { - this.complete = complete; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Order order = (Order) o; - return Objects.equals(this.id, order.id) && - Objects.equals(this.petId, order.petId) && - Objects.equals(this.quantity, order.quantity) && - Objects.equals(this.shipDate, order.shipDate) && - Objects.equals(this.status, order.status) && - Objects.equals(this.complete, order.complete); - } - - @Override - public int hashCode() { - return Objects.hash(id, petId, quantity, shipDate, status, complete); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Order {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" petId: ").append(toIndentedString(petId)).append("\n"); - sb.append(" quantity: ").append(toIndentedString(quantity)).append("\n"); - sb.append(" shipDate: ").append(toIndentedString(shipDate)).append("\n"); - sb.append(" status: ").append(toIndentedString(status)).append("\n"); - sb.append(" complete: ").append(toIndentedString(complete)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Tag.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Tag.java deleted file mode 100644 index b30aa3fd9a2..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/Tag.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A tag for a pet - */ - -@ApiModel(description = "A tag for a pet") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class Tag { - - @JsonProperty("id") - private Long id; - - @JsonProperty("name") - private String name; - - public Tag id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Tag name(String name) { - this.name = name; - return this; - } - - /** - * Get name - * @return name - */ - - @ApiModelProperty(value = "") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Tag tag = (Tag) o; - return Objects.equals(this.id, tag.id) && - Objects.equals(this.name, tag.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class Tag {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/User.java b/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/User.java deleted file mode 100644 index 8d71f0fcc04..00000000000 --- a/samples/server/petstore/spring-stubs/src/main/java/org/openapitools/model/User.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.openapitools.model; - -import java.net.URI; -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.openapitools.jackson.nullable.JsonNullable; -import java.time.OffsetDateTime; -import javax.validation.Valid; -import javax.validation.constraints.*; - - -import java.util.*; -import javax.annotation.Generated; - -/** - * A User who is purchasing from the pet store - */ - -@ApiModel(description = "A User who is purchasing from the pet store") -@Generated(value = "org.openapitools.codegen.languages.SpringCodegen") -public class User { - - @JsonProperty("id") - private Long id; - - @JsonProperty("username") - private String username; - - @JsonProperty("firstName") - private String firstName; - - @JsonProperty("lastName") - private String lastName; - - @JsonProperty("email") - private String email; - - @JsonProperty("password") - private String password; - - @JsonProperty("phone") - private String phone; - - @JsonProperty("userStatus") - private Integer userStatus; - - public User id(Long id) { - this.id = id; - return this; - } - - /** - * Get id - * @return id - */ - - @ApiModelProperty(value = "") - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public User username(String username) { - this.username = username; - return this; - } - - /** - * Get username - * @return username - */ - - @ApiModelProperty(value = "") - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public User firstName(String firstName) { - this.firstName = firstName; - return this; - } - - /** - * Get firstName - * @return firstName - */ - - @ApiModelProperty(value = "") - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public User lastName(String lastName) { - this.lastName = lastName; - return this; - } - - /** - * Get lastName - * @return lastName - */ - - @ApiModelProperty(value = "") - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public User email(String email) { - this.email = email; - return this; - } - - /** - * Get email - * @return email - */ - - @ApiModelProperty(value = "") - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public User password(String password) { - this.password = password; - return this; - } - - /** - * Get password - * @return password - */ - - @ApiModelProperty(value = "") - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public User phone(String phone) { - this.phone = phone; - return this; - } - - /** - * Get phone - * @return phone - */ - - @ApiModelProperty(value = "") - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public User userStatus(Integer userStatus) { - this.userStatus = userStatus; - return this; - } - - /** - * User Status - * @return userStatus - */ - - @ApiModelProperty(value = "User Status") - public Integer getUserStatus() { - return userStatus; - } - - public void setUserStatus(Integer userStatus) { - this.userStatus = userStatus; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(this.id, user.id) && - Objects.equals(this.username, user.username) && - Objects.equals(this.firstName, user.firstName) && - Objects.equals(this.lastName, user.lastName) && - Objects.equals(this.email, user.email) && - Objects.equals(this.password, user.password) && - Objects.equals(this.phone, user.phone) && - Objects.equals(this.userStatus, user.userStatus); - } - - @Override - public int hashCode() { - return Objects.hash(id, username, firstName, lastName, email, password, phone, userStatus); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class User {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" username: ").append(toIndentedString(username)).append("\n"); - sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); - sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); - sb.append(" email: ").append(toIndentedString(email)).append("\n"); - sb.append(" password: ").append(toIndentedString(password)).append("\n"); - sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); - sb.append(" userStatus: ").append(toIndentedString(userStatus)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java index f321ab78cd5..80d9ff32309 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java @@ -20,7 +20,7 @@ import javax.annotation.Generated; * SpecialModelName */ -@JsonTypeName("$special[model.name]") +@JsonTypeName("_special_model_name_") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class SpecialModelName { @@ -54,8 +54,8 @@ public class SpecialModelName { if (o == null || getClass() != o.getClass()) { return false; } - SpecialModelName $specialModelName = (SpecialModelName) o; - return Objects.equals(this.$specialPropertyName, $specialModelName.$specialPropertyName); + SpecialModelName specialModelName = (SpecialModelName) o; + return Objects.equals(this.$specialPropertyName, specialModelName.$specialPropertyName); } @Override diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java index 7f2cc3784a1..da3cb34f1e7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java @@ -178,7 +178,7 @@ public class TypeHolderExample { * @return arrayItem */ @NotNull - @ApiModelProperty(example = "[0, 1, 2, 3]", required = true, value = "") + @ApiModelProperty(example = "[0,1,2,3]", required = true, value = "") public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/resources/openapi.yaml b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/resources/openapi.yaml index 05bd8cc1889..c1bde43b2e3 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/resources/openapi.yaml +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8/src/main/resources/openapi.yaml @@ -184,17 +184,22 @@ paths: delete: operationId: deletePet parameters: - - in: header + - explode: false + in: header name: api_key + required: false schema: type: string + style: simple - description: Pet id to delete + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: {} @@ -217,12 +222,14 @@ paths: operationId: getPetById parameters: - description: ID of pet to return + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -251,12 +258,14 @@ paths: operationId: updatePetWithForm parameters: - description: ID of pet that needs to be updated + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: application/x-www-form-urlencoded: @@ -282,12 +291,14 @@ paths: operationId: uploadFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -371,11 +382,13 @@ paths: operationId: deleteOrder parameters: - description: ID of the order that needs to be deleted + explode: false in: path name: order_id required: true schema: type: string + style: simple responses: "400": content: {} @@ -395,6 +408,7 @@ paths: operationId: getOrderById parameters: - description: ID of pet that needs to be fetched + explode: false in: path name: order_id required: true @@ -403,6 +417,7 @@ paths: maximum: 5 minimum: 1 type: integer + style: simple responses: "200": content: @@ -501,17 +516,21 @@ paths: operationId: loginUser parameters: - description: The user name for login + explode: true in: query name: username required: true schema: type: string + style: form - description: The password for login in clear text + explode: true in: query name: password required: true schema: type: string + style: form responses: "200": content: @@ -525,14 +544,18 @@ paths: headers: X-Rate-Limit: description: calls per hour allowed by the user + explode: false schema: format: int32 type: integer + style: simple X-Expires-After: description: date in UTC when token expires + explode: false schema: format: date-time type: string + style: simple "400": content: {} description: Invalid username/password supplied @@ -561,11 +584,13 @@ paths: operationId: deleteUser parameters: - description: The name that needs to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple responses: "400": content: {} @@ -583,11 +608,13 @@ paths: operationId: getUserByName parameters: - description: The name that needs to be fetched. Use user1 for testing. + explode: false in: path name: username required: true schema: type: string + style: simple responses: "200": content: @@ -615,11 +642,13 @@ paths: operationId: updateUser parameters: - description: name that need to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple requestBody: content: '*/*': @@ -676,40 +705,55 @@ paths: operationId: testGroupParameters parameters: - description: Required String in group parameters + explode: true in: query name: required_string_group required: true schema: type: integer + style: form - description: Required Boolean in group parameters + explode: false in: header name: required_boolean_group required: true schema: type: boolean + style: simple - description: Required Integer in group parameters + explode: true in: query name: required_int64_group required: true schema: format: int64 type: integer + style: form - description: String in group parameters + explode: true in: query name: string_group + required: false schema: type: integer + style: form - description: Boolean in group parameters + explode: false in: header name: boolean_group + required: false schema: type: boolean + style: simple - description: Integer in group parameters + explode: true in: query name: int64_group + required: false schema: format: int64 type: integer + style: form responses: "400": content: {} @@ -729,6 +773,7 @@ paths: explode: false in: header name: enum_header_string_array + required: false schema: items: default: $ @@ -739,8 +784,10 @@ paths: type: array style: simple - description: Header parameter enum test (string) + explode: false in: header name: enum_header_string + required: false schema: default: -efg enum: @@ -748,10 +795,12 @@ paths: - -efg - (xyz) type: string + style: simple - description: Query parameter enum test (string array) explode: false in: query name: enum_query_string_array + required: false schema: items: default: $ @@ -762,8 +811,10 @@ paths: type: array style: form - description: Query parameter enum test (string) + explode: true in: query name: enum_query_string + required: false schema: default: -efg enum: @@ -771,24 +822,31 @@ paths: - -efg - (xyz) type: string + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_integer + required: false schema: enum: - 1 - -2 format: int32 type: integer + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_double + required: false schema: enum: - 1.1 - -1.2 format: double type: number + style: form requestBody: content: application/x-www-form-urlencoded: @@ -1014,11 +1072,13 @@ paths: put: operationId: testBodyWithQueryParams parameters: - - in: query + - explode: true + in: query name: query required: true schema: type: string + style: form requestBody: content: application/json: @@ -1136,14 +1196,17 @@ paths: type: string type: array style: form - - in: query + - explode: true + in: query name: ioutil required: true schema: items: type: string type: array - - in: query + style: form + - explode: false + in: query name: http required: true schema: @@ -1183,12 +1246,14 @@ paths: operationId: uploadFileWithRequiredFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -1217,28 +1282,34 @@ paths: post: operationId: versioningHeaders parameters: - - in: header + - explode: false + in: header name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1255,28 +1326,34 @@ paths: post: operationId: versioningQueryParams parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: form x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1293,43 +1370,53 @@ paths: post: operationId: versioningMix parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValueQuery required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValueQuery required: true schema: type: string x-version-param: true + style: form x-version-param: true - - in: header + - explode: false + in: header name: VersionWithDefaultValueHeader required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValueHeader required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1508,7 +1595,7 @@ components: message: type: string type: object - $special[model.name]: + _special_model_name_: properties: $special[property.name]: format: int64 @@ -1589,13 +1676,13 @@ components: format_test: properties: integer: - maximum: 100 - minimum: 10 + maximum: 100.0 + minimum: 10.0 type: integer int32: format: int32 - maximum: 200 - minimum: 20 + maximum: 200.0 + minimum: 20.0 type: integer int64: format: int64 @@ -2234,7 +2321,6 @@ components: status: description: Updated status of the pet type: string - type: object uploadFile_request: properties: additionalMetadata: @@ -2244,7 +2330,6 @@ components: description: file to upload format: binary type: string - type: object testEnumParameters_request: properties: enum_form_string_array: @@ -2264,7 +2349,6 @@ components: - -efg - (xyz) type: string - type: object testEndpointParameters_request: properties: integer: @@ -2337,7 +2421,6 @@ components: - double - number - pattern_without_delimiter - type: object testJsonFormData_request: properties: param: @@ -2349,7 +2432,6 @@ components: required: - param - param2 - type: object uploadFileWithRequiredFile_request: properties: additionalMetadata: @@ -2361,7 +2443,6 @@ components: type: string required: - requiredFile - type: object Dog_allOf: properties: breed: @@ -2394,4 +2475,3 @@ components: http_basic_test: scheme: basic type: http -x-original-swagger-version: "2.0" diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/SpecialModelName.java index f321ab78cd5..80d9ff32309 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/SpecialModelName.java @@ -20,7 +20,7 @@ import javax.annotation.Generated; * SpecialModelName */ -@JsonTypeName("$special[model.name]") +@JsonTypeName("_special_model_name_") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class SpecialModelName { @@ -54,8 +54,8 @@ public class SpecialModelName { if (o == null || getClass() != o.getClass()) { return false; } - SpecialModelName $specialModelName = (SpecialModelName) o; - return Objects.equals(this.$specialPropertyName, $specialModelName.$specialPropertyName); + SpecialModelName specialModelName = (SpecialModelName) o; + return Objects.equals(this.$specialPropertyName, specialModelName.$specialPropertyName); } @Override diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/TypeHolderExample.java index 7f2cc3784a1..da3cb34f1e7 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/java/org/openapitools/model/TypeHolderExample.java @@ -178,7 +178,7 @@ public class TypeHolderExample { * @return arrayItem */ @NotNull - @ApiModelProperty(example = "[0, 1, 2, 3]", required = true, value = "") + @ApiModelProperty(example = "[0,1,2,3]", required = true, value = "") public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/resources/openapi.yaml b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/resources/openapi.yaml index 05bd8cc1889..c1bde43b2e3 100644 --- a/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/resources/openapi.yaml +++ b/samples/server/petstore/springboot-spring-pageable-delegatePattern/src/main/resources/openapi.yaml @@ -184,17 +184,22 @@ paths: delete: operationId: deletePet parameters: - - in: header + - explode: false + in: header name: api_key + required: false schema: type: string + style: simple - description: Pet id to delete + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: {} @@ -217,12 +222,14 @@ paths: operationId: getPetById parameters: - description: ID of pet to return + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -251,12 +258,14 @@ paths: operationId: updatePetWithForm parameters: - description: ID of pet that needs to be updated + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: application/x-www-form-urlencoded: @@ -282,12 +291,14 @@ paths: operationId: uploadFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -371,11 +382,13 @@ paths: operationId: deleteOrder parameters: - description: ID of the order that needs to be deleted + explode: false in: path name: order_id required: true schema: type: string + style: simple responses: "400": content: {} @@ -395,6 +408,7 @@ paths: operationId: getOrderById parameters: - description: ID of pet that needs to be fetched + explode: false in: path name: order_id required: true @@ -403,6 +417,7 @@ paths: maximum: 5 minimum: 1 type: integer + style: simple responses: "200": content: @@ -501,17 +516,21 @@ paths: operationId: loginUser parameters: - description: The user name for login + explode: true in: query name: username required: true schema: type: string + style: form - description: The password for login in clear text + explode: true in: query name: password required: true schema: type: string + style: form responses: "200": content: @@ -525,14 +544,18 @@ paths: headers: X-Rate-Limit: description: calls per hour allowed by the user + explode: false schema: format: int32 type: integer + style: simple X-Expires-After: description: date in UTC when token expires + explode: false schema: format: date-time type: string + style: simple "400": content: {} description: Invalid username/password supplied @@ -561,11 +584,13 @@ paths: operationId: deleteUser parameters: - description: The name that needs to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple responses: "400": content: {} @@ -583,11 +608,13 @@ paths: operationId: getUserByName parameters: - description: The name that needs to be fetched. Use user1 for testing. + explode: false in: path name: username required: true schema: type: string + style: simple responses: "200": content: @@ -615,11 +642,13 @@ paths: operationId: updateUser parameters: - description: name that need to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple requestBody: content: '*/*': @@ -676,40 +705,55 @@ paths: operationId: testGroupParameters parameters: - description: Required String in group parameters + explode: true in: query name: required_string_group required: true schema: type: integer + style: form - description: Required Boolean in group parameters + explode: false in: header name: required_boolean_group required: true schema: type: boolean + style: simple - description: Required Integer in group parameters + explode: true in: query name: required_int64_group required: true schema: format: int64 type: integer + style: form - description: String in group parameters + explode: true in: query name: string_group + required: false schema: type: integer + style: form - description: Boolean in group parameters + explode: false in: header name: boolean_group + required: false schema: type: boolean + style: simple - description: Integer in group parameters + explode: true in: query name: int64_group + required: false schema: format: int64 type: integer + style: form responses: "400": content: {} @@ -729,6 +773,7 @@ paths: explode: false in: header name: enum_header_string_array + required: false schema: items: default: $ @@ -739,8 +784,10 @@ paths: type: array style: simple - description: Header parameter enum test (string) + explode: false in: header name: enum_header_string + required: false schema: default: -efg enum: @@ -748,10 +795,12 @@ paths: - -efg - (xyz) type: string + style: simple - description: Query parameter enum test (string array) explode: false in: query name: enum_query_string_array + required: false schema: items: default: $ @@ -762,8 +811,10 @@ paths: type: array style: form - description: Query parameter enum test (string) + explode: true in: query name: enum_query_string + required: false schema: default: -efg enum: @@ -771,24 +822,31 @@ paths: - -efg - (xyz) type: string + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_integer + required: false schema: enum: - 1 - -2 format: int32 type: integer + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_double + required: false schema: enum: - 1.1 - -1.2 format: double type: number + style: form requestBody: content: application/x-www-form-urlencoded: @@ -1014,11 +1072,13 @@ paths: put: operationId: testBodyWithQueryParams parameters: - - in: query + - explode: true + in: query name: query required: true schema: type: string + style: form requestBody: content: application/json: @@ -1136,14 +1196,17 @@ paths: type: string type: array style: form - - in: query + - explode: true + in: query name: ioutil required: true schema: items: type: string type: array - - in: query + style: form + - explode: false + in: query name: http required: true schema: @@ -1183,12 +1246,14 @@ paths: operationId: uploadFileWithRequiredFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -1217,28 +1282,34 @@ paths: post: operationId: versioningHeaders parameters: - - in: header + - explode: false + in: header name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1255,28 +1326,34 @@ paths: post: operationId: versioningQueryParams parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: form x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1293,43 +1370,53 @@ paths: post: operationId: versioningMix parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValueQuery required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValueQuery required: true schema: type: string x-version-param: true + style: form x-version-param: true - - in: header + - explode: false + in: header name: VersionWithDefaultValueHeader required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValueHeader required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1508,7 +1595,7 @@ components: message: type: string type: object - $special[model.name]: + _special_model_name_: properties: $special[property.name]: format: int64 @@ -1589,13 +1676,13 @@ components: format_test: properties: integer: - maximum: 100 - minimum: 10 + maximum: 100.0 + minimum: 10.0 type: integer int32: format: int32 - maximum: 200 - minimum: 20 + maximum: 200.0 + minimum: 20.0 type: integer int64: format: int64 @@ -2234,7 +2321,6 @@ components: status: description: Updated status of the pet type: string - type: object uploadFile_request: properties: additionalMetadata: @@ -2244,7 +2330,6 @@ components: description: file to upload format: binary type: string - type: object testEnumParameters_request: properties: enum_form_string_array: @@ -2264,7 +2349,6 @@ components: - -efg - (xyz) type: string - type: object testEndpointParameters_request: properties: integer: @@ -2337,7 +2421,6 @@ components: - double - number - pattern_without_delimiter - type: object testJsonFormData_request: properties: param: @@ -2349,7 +2432,6 @@ components: required: - param - param2 - type: object uploadFileWithRequiredFile_request: properties: additionalMetadata: @@ -2361,7 +2443,6 @@ components: type: string required: - requiredFile - type: object Dog_allOf: properties: breed: @@ -2394,4 +2475,3 @@ components: http_basic_test: scheme: basic type: http -x-original-swagger-version: "2.0" diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java index f321ab78cd5..80d9ff32309 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/SpecialModelName.java @@ -20,7 +20,7 @@ import javax.annotation.Generated; * SpecialModelName */ -@JsonTypeName("$special[model.name]") +@JsonTypeName("_special_model_name_") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class SpecialModelName { @@ -54,8 +54,8 @@ public class SpecialModelName { if (o == null || getClass() != o.getClass()) { return false; } - SpecialModelName $specialModelName = (SpecialModelName) o; - return Objects.equals(this.$specialPropertyName, $specialModelName.$specialPropertyName); + SpecialModelName specialModelName = (SpecialModelName) o; + return Objects.equals(this.$specialPropertyName, specialModelName.$specialPropertyName); } @Override diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java index 7f2cc3784a1..da3cb34f1e7 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/java/org/openapitools/model/TypeHolderExample.java @@ -178,7 +178,7 @@ public class TypeHolderExample { * @return arrayItem */ @NotNull - @ApiModelProperty(example = "[0, 1, 2, 3]", required = true, value = "") + @ApiModelProperty(example = "[0,1,2,3]", required = true, value = "") public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/resources/openapi.yaml b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/resources/openapi.yaml index 05bd8cc1889..c1bde43b2e3 100644 --- a/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/resources/openapi.yaml +++ b/samples/server/petstore/springboot-spring-pageable-without-j8/src/main/resources/openapi.yaml @@ -184,17 +184,22 @@ paths: delete: operationId: deletePet parameters: - - in: header + - explode: false + in: header name: api_key + required: false schema: type: string + style: simple - description: Pet id to delete + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: {} @@ -217,12 +222,14 @@ paths: operationId: getPetById parameters: - description: ID of pet to return + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -251,12 +258,14 @@ paths: operationId: updatePetWithForm parameters: - description: ID of pet that needs to be updated + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: application/x-www-form-urlencoded: @@ -282,12 +291,14 @@ paths: operationId: uploadFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -371,11 +382,13 @@ paths: operationId: deleteOrder parameters: - description: ID of the order that needs to be deleted + explode: false in: path name: order_id required: true schema: type: string + style: simple responses: "400": content: {} @@ -395,6 +408,7 @@ paths: operationId: getOrderById parameters: - description: ID of pet that needs to be fetched + explode: false in: path name: order_id required: true @@ -403,6 +417,7 @@ paths: maximum: 5 minimum: 1 type: integer + style: simple responses: "200": content: @@ -501,17 +516,21 @@ paths: operationId: loginUser parameters: - description: The user name for login + explode: true in: query name: username required: true schema: type: string + style: form - description: The password for login in clear text + explode: true in: query name: password required: true schema: type: string + style: form responses: "200": content: @@ -525,14 +544,18 @@ paths: headers: X-Rate-Limit: description: calls per hour allowed by the user + explode: false schema: format: int32 type: integer + style: simple X-Expires-After: description: date in UTC when token expires + explode: false schema: format: date-time type: string + style: simple "400": content: {} description: Invalid username/password supplied @@ -561,11 +584,13 @@ paths: operationId: deleteUser parameters: - description: The name that needs to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple responses: "400": content: {} @@ -583,11 +608,13 @@ paths: operationId: getUserByName parameters: - description: The name that needs to be fetched. Use user1 for testing. + explode: false in: path name: username required: true schema: type: string + style: simple responses: "200": content: @@ -615,11 +642,13 @@ paths: operationId: updateUser parameters: - description: name that need to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple requestBody: content: '*/*': @@ -676,40 +705,55 @@ paths: operationId: testGroupParameters parameters: - description: Required String in group parameters + explode: true in: query name: required_string_group required: true schema: type: integer + style: form - description: Required Boolean in group parameters + explode: false in: header name: required_boolean_group required: true schema: type: boolean + style: simple - description: Required Integer in group parameters + explode: true in: query name: required_int64_group required: true schema: format: int64 type: integer + style: form - description: String in group parameters + explode: true in: query name: string_group + required: false schema: type: integer + style: form - description: Boolean in group parameters + explode: false in: header name: boolean_group + required: false schema: type: boolean + style: simple - description: Integer in group parameters + explode: true in: query name: int64_group + required: false schema: format: int64 type: integer + style: form responses: "400": content: {} @@ -729,6 +773,7 @@ paths: explode: false in: header name: enum_header_string_array + required: false schema: items: default: $ @@ -739,8 +784,10 @@ paths: type: array style: simple - description: Header parameter enum test (string) + explode: false in: header name: enum_header_string + required: false schema: default: -efg enum: @@ -748,10 +795,12 @@ paths: - -efg - (xyz) type: string + style: simple - description: Query parameter enum test (string array) explode: false in: query name: enum_query_string_array + required: false schema: items: default: $ @@ -762,8 +811,10 @@ paths: type: array style: form - description: Query parameter enum test (string) + explode: true in: query name: enum_query_string + required: false schema: default: -efg enum: @@ -771,24 +822,31 @@ paths: - -efg - (xyz) type: string + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_integer + required: false schema: enum: - 1 - -2 format: int32 type: integer + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_double + required: false schema: enum: - 1.1 - -1.2 format: double type: number + style: form requestBody: content: application/x-www-form-urlencoded: @@ -1014,11 +1072,13 @@ paths: put: operationId: testBodyWithQueryParams parameters: - - in: query + - explode: true + in: query name: query required: true schema: type: string + style: form requestBody: content: application/json: @@ -1136,14 +1196,17 @@ paths: type: string type: array style: form - - in: query + - explode: true + in: query name: ioutil required: true schema: items: type: string type: array - - in: query + style: form + - explode: false + in: query name: http required: true schema: @@ -1183,12 +1246,14 @@ paths: operationId: uploadFileWithRequiredFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -1217,28 +1282,34 @@ paths: post: operationId: versioningHeaders parameters: - - in: header + - explode: false + in: header name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1255,28 +1326,34 @@ paths: post: operationId: versioningQueryParams parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: form x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1293,43 +1370,53 @@ paths: post: operationId: versioningMix parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValueQuery required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValueQuery required: true schema: type: string x-version-param: true + style: form x-version-param: true - - in: header + - explode: false + in: header name: VersionWithDefaultValueHeader required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValueHeader required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1508,7 +1595,7 @@ components: message: type: string type: object - $special[model.name]: + _special_model_name_: properties: $special[property.name]: format: int64 @@ -1589,13 +1676,13 @@ components: format_test: properties: integer: - maximum: 100 - minimum: 10 + maximum: 100.0 + minimum: 10.0 type: integer int32: format: int32 - maximum: 200 - minimum: 20 + maximum: 200.0 + minimum: 20.0 type: integer int64: format: int64 @@ -2234,7 +2321,6 @@ components: status: description: Updated status of the pet type: string - type: object uploadFile_request: properties: additionalMetadata: @@ -2244,7 +2330,6 @@ components: description: file to upload format: binary type: string - type: object testEnumParameters_request: properties: enum_form_string_array: @@ -2264,7 +2349,6 @@ components: - -efg - (xyz) type: string - type: object testEndpointParameters_request: properties: integer: @@ -2337,7 +2421,6 @@ components: - double - number - pattern_without_delimiter - type: object testJsonFormData_request: properties: param: @@ -2349,7 +2432,6 @@ components: required: - param - param2 - type: object uploadFileWithRequiredFile_request: properties: additionalMetadata: @@ -2361,7 +2443,6 @@ components: type: string required: - requiredFile - type: object Dog_allOf: properties: breed: @@ -2394,4 +2475,3 @@ components: http_basic_test: scheme: basic type: http -x-original-swagger-version: "2.0" diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/SpecialModelName.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/SpecialModelName.java index f321ab78cd5..80d9ff32309 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/SpecialModelName.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/SpecialModelName.java @@ -20,7 +20,7 @@ import javax.annotation.Generated; * SpecialModelName */ -@JsonTypeName("$special[model.name]") +@JsonTypeName("_special_model_name_") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen") public class SpecialModelName { @@ -54,8 +54,8 @@ public class SpecialModelName { if (o == null || getClass() != o.getClass()) { return false; } - SpecialModelName $specialModelName = (SpecialModelName) o; - return Objects.equals(this.$specialPropertyName, $specialModelName.$specialPropertyName); + SpecialModelName specialModelName = (SpecialModelName) o; + return Objects.equals(this.$specialPropertyName, specialModelName.$specialPropertyName); } @Override diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/TypeHolderExample.java b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/TypeHolderExample.java index 7f2cc3784a1..da3cb34f1e7 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/TypeHolderExample.java +++ b/samples/server/petstore/springboot-spring-pageable/src/main/java/org/openapitools/model/TypeHolderExample.java @@ -178,7 +178,7 @@ public class TypeHolderExample { * @return arrayItem */ @NotNull - @ApiModelProperty(example = "[0, 1, 2, 3]", required = true, value = "") + @ApiModelProperty(example = "[0,1,2,3]", required = true, value = "") public List getArrayItem() { return arrayItem; } diff --git a/samples/server/petstore/springboot-spring-pageable/src/main/resources/openapi.yaml b/samples/server/petstore/springboot-spring-pageable/src/main/resources/openapi.yaml index 05bd8cc1889..c1bde43b2e3 100644 --- a/samples/server/petstore/springboot-spring-pageable/src/main/resources/openapi.yaml +++ b/samples/server/petstore/springboot-spring-pageable/src/main/resources/openapi.yaml @@ -184,17 +184,22 @@ paths: delete: operationId: deletePet parameters: - - in: header + - explode: false + in: header name: api_key + required: false schema: type: string + style: simple - description: Pet id to delete + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: {} @@ -217,12 +222,14 @@ paths: operationId: getPetById parameters: - description: ID of pet to return + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -251,12 +258,14 @@ paths: operationId: updatePetWithForm parameters: - description: ID of pet that needs to be updated + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: application/x-www-form-urlencoded: @@ -282,12 +291,14 @@ paths: operationId: uploadFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -371,11 +382,13 @@ paths: operationId: deleteOrder parameters: - description: ID of the order that needs to be deleted + explode: false in: path name: order_id required: true schema: type: string + style: simple responses: "400": content: {} @@ -395,6 +408,7 @@ paths: operationId: getOrderById parameters: - description: ID of pet that needs to be fetched + explode: false in: path name: order_id required: true @@ -403,6 +417,7 @@ paths: maximum: 5 minimum: 1 type: integer + style: simple responses: "200": content: @@ -501,17 +516,21 @@ paths: operationId: loginUser parameters: - description: The user name for login + explode: true in: query name: username required: true schema: type: string + style: form - description: The password for login in clear text + explode: true in: query name: password required: true schema: type: string + style: form responses: "200": content: @@ -525,14 +544,18 @@ paths: headers: X-Rate-Limit: description: calls per hour allowed by the user + explode: false schema: format: int32 type: integer + style: simple X-Expires-After: description: date in UTC when token expires + explode: false schema: format: date-time type: string + style: simple "400": content: {} description: Invalid username/password supplied @@ -561,11 +584,13 @@ paths: operationId: deleteUser parameters: - description: The name that needs to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple responses: "400": content: {} @@ -583,11 +608,13 @@ paths: operationId: getUserByName parameters: - description: The name that needs to be fetched. Use user1 for testing. + explode: false in: path name: username required: true schema: type: string + style: simple responses: "200": content: @@ -615,11 +642,13 @@ paths: operationId: updateUser parameters: - description: name that need to be deleted + explode: false in: path name: username required: true schema: type: string + style: simple requestBody: content: '*/*': @@ -676,40 +705,55 @@ paths: operationId: testGroupParameters parameters: - description: Required String in group parameters + explode: true in: query name: required_string_group required: true schema: type: integer + style: form - description: Required Boolean in group parameters + explode: false in: header name: required_boolean_group required: true schema: type: boolean + style: simple - description: Required Integer in group parameters + explode: true in: query name: required_int64_group required: true schema: format: int64 type: integer + style: form - description: String in group parameters + explode: true in: query name: string_group + required: false schema: type: integer + style: form - description: Boolean in group parameters + explode: false in: header name: boolean_group + required: false schema: type: boolean + style: simple - description: Integer in group parameters + explode: true in: query name: int64_group + required: false schema: format: int64 type: integer + style: form responses: "400": content: {} @@ -729,6 +773,7 @@ paths: explode: false in: header name: enum_header_string_array + required: false schema: items: default: $ @@ -739,8 +784,10 @@ paths: type: array style: simple - description: Header parameter enum test (string) + explode: false in: header name: enum_header_string + required: false schema: default: -efg enum: @@ -748,10 +795,12 @@ paths: - -efg - (xyz) type: string + style: simple - description: Query parameter enum test (string array) explode: false in: query name: enum_query_string_array + required: false schema: items: default: $ @@ -762,8 +811,10 @@ paths: type: array style: form - description: Query parameter enum test (string) + explode: true in: query name: enum_query_string + required: false schema: default: -efg enum: @@ -771,24 +822,31 @@ paths: - -efg - (xyz) type: string + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_integer + required: false schema: enum: - 1 - -2 format: int32 type: integer + style: form - description: Query parameter enum test (double) + explode: true in: query name: enum_query_double + required: false schema: enum: - 1.1 - -1.2 format: double type: number + style: form requestBody: content: application/x-www-form-urlencoded: @@ -1014,11 +1072,13 @@ paths: put: operationId: testBodyWithQueryParams parameters: - - in: query + - explode: true + in: query name: query required: true schema: type: string + style: form requestBody: content: application/json: @@ -1136,14 +1196,17 @@ paths: type: string type: array style: form - - in: query + - explode: true + in: query name: ioutil required: true schema: items: type: string type: array - - in: query + style: form + - explode: false + in: query name: http required: true schema: @@ -1183,12 +1246,14 @@ paths: operationId: uploadFileWithRequiredFile parameters: - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple requestBody: content: multipart/form-data: @@ -1217,28 +1282,34 @@ paths: post: operationId: versioningHeaders parameters: - - in: header + - explode: false + in: header name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1255,28 +1326,34 @@ paths: post: operationId: versioningQueryParams parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValue required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValue required: true schema: type: string x-version-param: true + style: form x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1293,43 +1370,53 @@ paths: post: operationId: versioningMix parameters: - - in: query + - explode: true + in: query name: VersionWithDefaultValueQuery required: true schema: default: V1 type: string x-version-param: true + style: form x-version-param: true - - in: query + - explode: true + in: query name: VersionNoDefaultValueQuery required: true schema: type: string x-version-param: true + style: form x-version-param: true - - in: header + - explode: false + in: header name: VersionWithDefaultValueHeader required: true schema: default: V1 type: string x-version-param: true + style: simple x-version-param: true - - in: header + - explode: false + in: header name: VersionNoDefaultValueHeader required: true schema: type: string x-version-param: true + style: simple x-version-param: true - description: ID of pet to update + explode: false in: path name: petId required: true schema: format: int64 type: integer + style: simple responses: "200": content: @@ -1508,7 +1595,7 @@ components: message: type: string type: object - $special[model.name]: + _special_model_name_: properties: $special[property.name]: format: int64 @@ -1589,13 +1676,13 @@ components: format_test: properties: integer: - maximum: 100 - minimum: 10 + maximum: 100.0 + minimum: 10.0 type: integer int32: format: int32 - maximum: 200 - minimum: 20 + maximum: 200.0 + minimum: 20.0 type: integer int64: format: int64 @@ -2234,7 +2321,6 @@ components: status: description: Updated status of the pet type: string - type: object uploadFile_request: properties: additionalMetadata: @@ -2244,7 +2330,6 @@ components: description: file to upload format: binary type: string - type: object testEnumParameters_request: properties: enum_form_string_array: @@ -2264,7 +2349,6 @@ components: - -efg - (xyz) type: string - type: object testEndpointParameters_request: properties: integer: @@ -2337,7 +2421,6 @@ components: - double - number - pattern_without_delimiter - type: object testJsonFormData_request: properties: param: @@ -2349,7 +2432,6 @@ components: required: - param - param2 - type: object uploadFileWithRequiredFile_request: properties: additionalMetadata: @@ -2361,7 +2443,6 @@ components: type: string required: - requiredFile - type: object Dog_allOf: properties: breed: @@ -2394,4 +2475,3 @@ components: http_basic_test: scheme: basic type: http -x-original-swagger-version: "2.0"