mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-10 19:52:45 +00:00
[Java][Spring] version parameter (#14847)
This commit is contained in:
@@ -8,3 +8,4 @@ additionalProperties:
|
||||
documentationProvider: springfox
|
||||
artifactId: springboot-spring-pageable-delegatePattern
|
||||
hideGenerationTimestamp: 'true'
|
||||
implicitHeadersRegex: ^Version.*
|
||||
|
||||
@@ -7,3 +7,4 @@ additionalProperties:
|
||||
documentationProvider: springfox
|
||||
artifactId: springboot-spring-pageable
|
||||
hideGenerationTimestamp: 'true'
|
||||
implicitHeadersRegex: ^Version.*
|
||||
|
||||
@@ -116,6 +116,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|x-class-extra-annotation|List of custom annotations to be added to model|MODEL|null
|
||||
|x-field-extra-annotation|List of custom annotations to be added to property|FIELD|null
|
||||
|x-spring-paginated|Add org.springframework.data.domain.Pageable to controller method. Can be used to handle page & size query parameters|OPERATION|false
|
||||
|x-version-param|Marker property that tells that this parameter would be used for endpoint versioning. Applicable for headers & query params. true/false|OPERATION_PARAMETER|null
|
||||
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
@@ -109,6 +109,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|x-class-extra-annotation|List of custom annotations to be added to model|MODEL|null
|
||||
|x-field-extra-annotation|List of custom annotations to be added to property|FIELD|null
|
||||
|x-spring-paginated|Add org.springframework.data.domain.Pageable to controller method. Can be used to handle page & size query parameters|OPERATION|false
|
||||
|x-version-param|Marker property that tells that this parameter would be used for endpoint versioning. Applicable for headers & query params. true/false|OPERATION_PARAMETER|null
|
||||
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
@@ -27,6 +27,7 @@ public class CodegenOperation {
|
||||
public boolean hasAuthMethods, hasConsumes, hasProduces, hasParams, hasOptionalParams, hasRequiredParams,
|
||||
returnTypeIsPrimitive, returnSimpleType, subresourceOperation, isMap,
|
||||
isArray, isMultipart,
|
||||
hasVersionHeaders = false, hasVersionQueryParams = false,
|
||||
isResponseBinary = false, isResponseFile = false, isResponseOptional = false, hasReference = false, defaultReturnType = false,
|
||||
isRestfulIndex, isRestfulShow, isRestfulCreate, isRestfulUpdate, isRestfulDestroy,
|
||||
isRestful, isDeprecated, isCallbackRequest, uniqueItems, hasDefaultResponse = false,
|
||||
|
||||
@@ -15,6 +15,7 @@ public enum VendorExtension {
|
||||
X_CONTENT_TYPE("x-content-type", ExtensionLevel.OPERATION, "Specify custom value for 'Content-Type' header for operation", null),
|
||||
X_CLASS_EXTRA_ANNOTATION("x-class-extra-annotation", ExtensionLevel.MODEL, "List of custom annotations to be added to model", null),
|
||||
X_FIELD_EXTRA_ANNOTATION("x-field-extra-annotation", ExtensionLevel.FIELD, "List of custom annotations to be added to property", null),
|
||||
X_VERSION_PARAM("x-version-param", ExtensionLevel.OPERATION_PARAMETER, "Marker property that tells that this parameter would be used for endpoint versioning. Applicable for headers & query params. true/false", null),
|
||||
;
|
||||
|
||||
private final String name;
|
||||
@@ -52,7 +53,8 @@ public enum VendorExtension {
|
||||
public enum ExtensionLevel {
|
||||
FIELD,
|
||||
MODEL,
|
||||
OPERATION
|
||||
OPERATION,
|
||||
OPERATION_PARAMETER
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -804,6 +804,7 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
}
|
||||
});
|
||||
|
||||
prepareVersioningParameters(ops);
|
||||
handleImplicitHeaders(operation);
|
||||
}
|
||||
// The tag for the controller is the first tag of the first operation
|
||||
@@ -857,6 +858,32 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
}
|
||||
}
|
||||
|
||||
private void prepareVersioningParameters(List<CodegenOperation> operations) {
|
||||
for (CodegenOperation operation : operations) {
|
||||
if (operation.getHasHeaderParams()) {
|
||||
List<CodegenParameter> versionParams = operation.headerParams.stream()
|
||||
.filter(param -> {
|
||||
String xVersionParam = Objects.toString(param.vendorExtensions.get(VendorExtension.X_VERSION_PARAM.getName()), "false");
|
||||
return Boolean.parseBoolean(xVersionParam);
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
operation.hasVersionHeaders = !versionParams.isEmpty();
|
||||
operation.vendorExtensions.put("versionHeaderParamsList", versionParams);
|
||||
}
|
||||
|
||||
if (operation.getHasQueryParams()) {
|
||||
List<CodegenParameter> versionParams = operation.queryParams.stream()
|
||||
.filter(param -> {
|
||||
String xVersionParam = Objects.toString(param.vendorExtensions.get(VendorExtension.X_VERSION_PARAM.getName()), "false");
|
||||
return Boolean.parseBoolean(xVersionParam);
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
operation.hasVersionQueryParams = !versionParams.isEmpty();
|
||||
operation.vendorExtensions.put("versionQueryParamsList", versionParams);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs) {
|
||||
generateYAMLSpecFile(objs);
|
||||
@@ -1185,6 +1212,7 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
public List<VendorExtension> getSupportedVendorExtensions() {
|
||||
List<VendorExtension> extensions = super.getSupportedVendorExtensions();
|
||||
extensions.add(VendorExtension.X_SPRING_PAGINATED);
|
||||
extensions.add(VendorExtension.X_VERSION_PARAM);
|
||||
return extensions;
|
||||
}
|
||||
|
||||
|
||||
@@ -218,7 +218,9 @@ public interface {{classname}} {
|
||||
produces = "{{{vendorExtensions.x-accepts}}}"{{/hasProduces}}{{#hasConsumes}},
|
||||
consumes = "{{{vendorExtensions.x-content-type}}}"{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}},
|
||||
produces = { {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }{{/hasProduces}}{{#hasConsumes}},
|
||||
consumes = { {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }{{/hasConsumes}}{{/singleContentTypes}}
|
||||
consumes = { {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }{{/hasConsumes}}{{/singleContentTypes}}{{#hasVersionHeaders}},
|
||||
headers = { {{#vendorExtensions.versionHeaderParamsList}}"{{baseName}}{{#defaultValue}}={{{.}}}{{/defaultValue}}"{{^-last}}, {{/-last}}{{/vendorExtensions.versionHeaderParamsList}} } {{/hasVersionHeaders}}{{#hasVersionQueryParams}},
|
||||
params = { {{#vendorExtensions.versionQueryParamsList}}"{{baseName}}{{#defaultValue}}={{{.}}}{{/defaultValue}}"{{^-last}}, {{/-last}}{{/vendorExtensions.versionQueryParamsList}} } {{/hasVersionQueryParams}}
|
||||
)
|
||||
{{#jdk8-default-interface}}default {{/jdk8-default-interface}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{#delegate-method}}_{{/delegate-method}}{{operationId}}(
|
||||
{{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{>cookieParams}}{{^-last}},
|
||||
|
||||
@@ -1127,6 +1127,101 @@ paths:
|
||||
- petstore_auth:
|
||||
- 'write:pets'
|
||||
- 'read:pets'
|
||||
/versioning/headers:
|
||||
post:
|
||||
tags:
|
||||
- versioning
|
||||
operationId: versioningHeaders
|
||||
parameters:
|
||||
- name: VersionWithDefaultValue
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
default: 'V1'
|
||||
x-version-param: true
|
||||
- name: VersionNoDefaultValue
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
x-version-param: true
|
||||
- name: petId
|
||||
in: path
|
||||
description: ID of pet to update
|
||||
required: true
|
||||
type: integer
|
||||
format: int64
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
schema:
|
||||
$ref: '#/definitions/ApiResponse'
|
||||
/versioning/query-params:
|
||||
post:
|
||||
tags:
|
||||
- versioning
|
||||
operationId: versioningQueryParams
|
||||
parameters:
|
||||
- name: VersionWithDefaultValue
|
||||
in: query
|
||||
required: true
|
||||
type: string
|
||||
default: 'V1'
|
||||
x-version-param: true
|
||||
- name: VersionNoDefaultValue
|
||||
in: query
|
||||
required: true
|
||||
type: string
|
||||
x-version-param: true
|
||||
- name: petId
|
||||
in: path
|
||||
description: ID of pet to update
|
||||
required: true
|
||||
type: integer
|
||||
format: int64
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
schema:
|
||||
$ref: '#/definitions/ApiResponse'
|
||||
/versioning/mix:
|
||||
post:
|
||||
tags:
|
||||
- versioning
|
||||
operationId: versioningMix
|
||||
parameters:
|
||||
- name: VersionWithDefaultValueQuery
|
||||
in: query
|
||||
required: true
|
||||
type: string
|
||||
default: 'V1'
|
||||
x-version-param: true
|
||||
- name: VersionNoDefaultValueQuery
|
||||
in: query
|
||||
required: true
|
||||
type: string
|
||||
x-version-param: true
|
||||
- name: VersionWithDefaultValueHeader
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
default: 'V1'
|
||||
x-version-param: true
|
||||
- name: VersionNoDefaultValueHeader
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
x-version-param: true
|
||||
- name: petId
|
||||
in: path
|
||||
description: ID of pet to update
|
||||
required: true
|
||||
type: integer
|
||||
format: int64
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
schema:
|
||||
$ref: '#/definitions/ApiResponse'
|
||||
securityDefinitions:
|
||||
petstore_auth:
|
||||
type: oauth2
|
||||
|
||||
@@ -21,6 +21,9 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
||||
src/main/java/org/openapitools/api/UserApi.java
|
||||
src/main/java/org/openapitools/api/UserApiController.java
|
||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||
src/main/java/org/openapitools/api/VersioningApi.java
|
||||
src/main/java/org/openapitools/api/VersioningApiController.java
|
||||
src/main/java/org/openapitools/api/VersioningApiDelegate.java
|
||||
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||
src/main/java/org/openapitools/configuration/HomeController.java
|
||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
/**
|
||||
* 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 io.swagger.annotations.*;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Validated
|
||||
@Api(value = "versioning", description = "the versioning API")
|
||||
public interface VersioningApi {
|
||||
|
||||
default VersioningApiDelegate getDelegate() {
|
||||
return new VersioningApiDelegate() {};
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningHeaders",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/headers",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @RequestHeader(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @RequestHeader(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningHeaders(versionWithDefaultValue, versionNoDefaultValue, petId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param versionWithDefaultValueHeader (required)
|
||||
* @param versionNoDefaultValueHeader (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningMix",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/mix",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValueHeader=V1", "VersionNoDefaultValueHeader" } ,
|
||||
params = { "VersionWithDefaultValueQuery=V1", "VersionNoDefaultValueQuery" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValueQuery", required = true, defaultValue = "V1") String versionWithDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValueQuery", required = true) String versionNoDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @RequestHeader(value = "VersionWithDefaultValueHeader", required = true, defaultValue = "V1") String versionWithDefaultValueHeader,
|
||||
@NotNull @ApiParam(value = "", required = true) @RequestHeader(value = "VersionNoDefaultValueHeader", required = true) String versionNoDefaultValueHeader,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningMix(versionWithDefaultValueQuery, versionNoDefaultValueQuery, versionWithDefaultValueHeader, versionNoDefaultValueHeader, petId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningQueryParams",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/query-params",
|
||||
produces = { "*/*" },
|
||||
params = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningQueryParams(versionWithDefaultValue, versionNoDefaultValue, petId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Controller
|
||||
@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}")
|
||||
public class VersioningApiController implements VersioningApi {
|
||||
|
||||
private final VersioningApiDelegate delegate;
|
||||
|
||||
public VersioningApiController(@Autowired(required = false) VersioningApiDelegate delegate) {
|
||||
this.delegate = Optional.ofNullable(delegate).orElse(new VersioningApiDelegate() {});
|
||||
}
|
||||
|
||||
@Override
|
||||
public VersioningApiDelegate getDelegate() {
|
||||
return delegate;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.context.request.NativeWebRequest;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
/**
|
||||
* A delegate to be called by the {@link VersioningApiController}}.
|
||||
* Implement this interface with a {@link org.springframework.stereotype.Service} annotated class.
|
||||
*/
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
public interface VersioningApiDelegate {
|
||||
|
||||
default Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningHeaders
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(String versionWithDefaultValue,
|
||||
String versionNoDefaultValue,
|
||||
Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param versionWithDefaultValueHeader (required)
|
||||
* @param versionNoDefaultValueHeader (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningMix
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(String versionWithDefaultValueQuery,
|
||||
String versionNoDefaultValueQuery,
|
||||
String versionWithDefaultValueHeader,
|
||||
String versionNoDefaultValueHeader,
|
||||
Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningQueryParams
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(String versionWithDefaultValue,
|
||||
String versionNoDefaultValue,
|
||||
Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1213,6 +1213,135 @@ paths:
|
||||
x-accepts: application/json
|
||||
x-tags:
|
||||
- tag: pet
|
||||
/versioning/headers:
|
||||
post:
|
||||
operationId: versioningHeaders
|
||||
parameters:
|
||||
- in: header
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/query-params:
|
||||
post:
|
||||
operationId: versioningQueryParams
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/mix:
|
||||
post:
|
||||
operationId: versioningMix
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionWithDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
components:
|
||||
schemas:
|
||||
Order:
|
||||
|
||||
@@ -21,6 +21,9 @@ src/main/java/org/openapitools/api/StoreApiDelegate.java
|
||||
src/main/java/org/openapitools/api/UserApi.java
|
||||
src/main/java/org/openapitools/api/UserApiController.java
|
||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||
src/main/java/org/openapitools/api/VersioningApi.java
|
||||
src/main/java/org/openapitools/api/VersioningApiController.java
|
||||
src/main/java/org/openapitools/api/VersioningApiDelegate.java
|
||||
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||
src/main/java/org/openapitools/configuration/HomeController.java
|
||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
/**
|
||||
* 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 io.swagger.annotations.*;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Validated
|
||||
@Api(value = "versioning", description = "the versioning API")
|
||||
public interface VersioningApi {
|
||||
|
||||
default VersioningApiDelegate getDelegate() {
|
||||
return new VersioningApiDelegate() {};
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningHeaders",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "VersionWithDefaultValue", value = "", required = true, dataType = "String", paramType = "header"),
|
||||
@ApiImplicitParam(name = "VersionNoDefaultValue", value = "", required = true, dataType = "String", paramType = "header")
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/headers",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningHeaders(petId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningMix",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "VersionWithDefaultValueHeader", value = "", required = true, dataType = "String", paramType = "header"),
|
||||
@ApiImplicitParam(name = "VersionNoDefaultValueHeader", value = "", required = true, dataType = "String", paramType = "header")
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/mix",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValueHeader=V1", "VersionNoDefaultValueHeader" } ,
|
||||
params = { "VersionWithDefaultValueQuery=V1", "VersionNoDefaultValueQuery" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValueQuery", required = true, defaultValue = "V1") String versionWithDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValueQuery", required = true) String versionNoDefaultValueQuery,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningMix(versionWithDefaultValueQuery, versionNoDefaultValueQuery, petId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningQueryParams",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/query-params",
|
||||
produces = { "*/*" },
|
||||
params = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
return getDelegate().versioningQueryParams(versionWithDefaultValue, versionNoDefaultValue, petId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Controller
|
||||
@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}")
|
||||
public class VersioningApiController implements VersioningApi {
|
||||
|
||||
private final VersioningApiDelegate delegate;
|
||||
|
||||
public VersioningApiController(@Autowired(required = false) VersioningApiDelegate delegate) {
|
||||
this.delegate = Optional.ofNullable(delegate).orElse(new VersioningApiDelegate() {});
|
||||
}
|
||||
|
||||
@Override
|
||||
public VersioningApiDelegate getDelegate() {
|
||||
return delegate;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.context.request.NativeWebRequest;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
/**
|
||||
* A delegate to be called by the {@link VersioningApiController}}.
|
||||
* Implement this interface with a {@link org.springframework.stereotype.Service} annotated class.
|
||||
*/
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
public interface VersioningApiDelegate {
|
||||
|
||||
default Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningHeaders
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningMix
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(String versionWithDefaultValueQuery,
|
||||
String versionNoDefaultValueQuery,
|
||||
Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
* @see VersioningApi#versioningQueryParams
|
||||
*/
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(String versionWithDefaultValue,
|
||||
String versionNoDefaultValue,
|
||||
Long petId) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1213,6 +1213,135 @@ paths:
|
||||
x-accepts: application/json
|
||||
x-tags:
|
||||
- tag: pet
|
||||
/versioning/headers:
|
||||
post:
|
||||
operationId: versioningHeaders
|
||||
parameters:
|
||||
- in: header
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/query-params:
|
||||
post:
|
||||
operationId: versioningQueryParams
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/mix:
|
||||
post:
|
||||
operationId: versioningMix
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionWithDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
components:
|
||||
schemas:
|
||||
Order:
|
||||
|
||||
@@ -15,6 +15,8 @@ src/main/java/org/openapitools/api/StoreApi.java
|
||||
src/main/java/org/openapitools/api/StoreApiController.java
|
||||
src/main/java/org/openapitools/api/UserApi.java
|
||||
src/main/java/org/openapitools/api/UserApiController.java
|
||||
src/main/java/org/openapitools/api/VersioningApi.java
|
||||
src/main/java/org/openapitools/api/VersioningApiController.java
|
||||
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||
src/main/java/org/openapitools/configuration/HomeController.java
|
||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
/**
|
||||
* 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 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 = "versioning", description = "the versioning API")
|
||||
public interface VersioningApi {
|
||||
|
||||
default Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningHeaders",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/headers",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @RequestHeader(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @RequestHeader(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param versionWithDefaultValueHeader (required)
|
||||
* @param versionNoDefaultValueHeader (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningMix",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/mix",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValueHeader=V1", "VersionNoDefaultValueHeader" } ,
|
||||
params = { "VersionWithDefaultValueQuery=V1", "VersionNoDefaultValueQuery" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValueQuery", required = true, defaultValue = "V1") String versionWithDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValueQuery", required = true) String versionNoDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @RequestHeader(value = "VersionWithDefaultValueHeader", required = true, defaultValue = "V1") String versionWithDefaultValueHeader,
|
||||
@NotNull @ApiParam(value = "", required = true) @RequestHeader(value = "VersionNoDefaultValueHeader", required = true) String versionNoDefaultValueHeader,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningQueryParams",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/query-params",
|
||||
produces = { "*/*" },
|
||||
params = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.context.request.NativeWebRequest;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Controller
|
||||
@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}")
|
||||
public class VersioningApiController implements VersioningApi {
|
||||
|
||||
private final NativeWebRequest request;
|
||||
|
||||
@Autowired
|
||||
public VersioningApiController(NativeWebRequest request) {
|
||||
this.request = request;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.ofNullable(request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1213,6 +1213,135 @@ paths:
|
||||
x-accepts: application/json
|
||||
x-tags:
|
||||
- tag: pet
|
||||
/versioning/headers:
|
||||
post:
|
||||
operationId: versioningHeaders
|
||||
parameters:
|
||||
- in: header
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/query-params:
|
||||
post:
|
||||
operationId: versioningQueryParams
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/mix:
|
||||
post:
|
||||
operationId: versioningMix
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionWithDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
components:
|
||||
schemas:
|
||||
Order:
|
||||
|
||||
@@ -15,6 +15,8 @@ src/main/java/org/openapitools/api/StoreApi.java
|
||||
src/main/java/org/openapitools/api/StoreApiController.java
|
||||
src/main/java/org/openapitools/api/UserApi.java
|
||||
src/main/java/org/openapitools/api/UserApiController.java
|
||||
src/main/java/org/openapitools/api/VersioningApi.java
|
||||
src/main/java/org/openapitools/api/VersioningApiController.java
|
||||
src/main/java/org/openapitools/configuration/EnumConverterConfiguration.java
|
||||
src/main/java/org/openapitools/configuration/HomeController.java
|
||||
src/main/java/org/openapitools/configuration/SpringFoxConfiguration.java
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
/**
|
||||
* 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 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 = "versioning", description = "the versioning API")
|
||||
public interface VersioningApi {
|
||||
|
||||
default Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /versioning/headers
|
||||
*
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningHeaders",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "VersionWithDefaultValue", value = "", required = true, dataType = "String", paramType = "header"),
|
||||
@ApiImplicitParam(name = "VersionNoDefaultValue", value = "", required = true, dataType = "String", paramType = "header")
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/headers",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningHeaders(
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/mix
|
||||
*
|
||||
* @param versionWithDefaultValueQuery (required)
|
||||
* @param versionNoDefaultValueQuery (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningMix",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "VersionWithDefaultValueHeader", value = "", required = true, dataType = "String", paramType = "header"),
|
||||
@ApiImplicitParam(name = "VersionNoDefaultValueHeader", value = "", required = true, dataType = "String", paramType = "header")
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/mix",
|
||||
produces = { "*/*" },
|
||||
headers = { "VersionWithDefaultValueHeader=V1", "VersionNoDefaultValueHeader" } ,
|
||||
params = { "VersionWithDefaultValueQuery=V1", "VersionNoDefaultValueQuery" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningMix(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValueQuery", required = true, defaultValue = "V1") String versionWithDefaultValueQuery,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValueQuery", required = true) String versionNoDefaultValueQuery,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* POST /versioning/query-params
|
||||
*
|
||||
* @param versionWithDefaultValue (required)
|
||||
* @param versionNoDefaultValue (required)
|
||||
* @param petId ID of pet to update (required)
|
||||
* @return successful operation (status code 200)
|
||||
*/
|
||||
@ApiOperation(
|
||||
tags = { "versioning" },
|
||||
value = "",
|
||||
nickname = "versioningQueryParams",
|
||||
notes = "",
|
||||
response = ModelApiResponse.class
|
||||
)
|
||||
@ApiResponses({
|
||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class)
|
||||
})
|
||||
@RequestMapping(
|
||||
method = RequestMethod.POST,
|
||||
value = "/versioning/query-params",
|
||||
produces = { "*/*" },
|
||||
params = { "VersionWithDefaultValue=V1", "VersionNoDefaultValue" }
|
||||
)
|
||||
default ResponseEntity<ModelApiResponse> versioningQueryParams(
|
||||
@NotNull @ApiParam(value = "", required = true, defaultValue = "V1") @Valid @RequestParam(value = "VersionWithDefaultValue", required = true, defaultValue = "V1") String versionWithDefaultValue,
|
||||
@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "VersionNoDefaultValue", required = true) String versionNoDefaultValue,
|
||||
@ApiParam(value = "ID of pet to update", required = true) @PathVariable("petId") Long petId
|
||||
) {
|
||||
getRequest().ifPresent(request -> {
|
||||
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("*/*"))) {
|
||||
String exampleString = "{ \"code\" : 0, \"type\" : \"type\", \"message\" : \"message\" }";
|
||||
ApiUtil.setExampleResponse(request, "*/*", exampleString);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.openapitools.api;
|
||||
|
||||
import org.openapitools.model.ModelApiResponse;
|
||||
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.context.request.NativeWebRequest;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Generated;
|
||||
|
||||
@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
|
||||
@Controller
|
||||
@RequestMapping("${openapi.openAPIPetstore.base-path:/v2}")
|
||||
public class VersioningApiController implements VersioningApi {
|
||||
|
||||
private final NativeWebRequest request;
|
||||
|
||||
@Autowired
|
||||
public VersioningApiController(NativeWebRequest request) {
|
||||
this.request = request;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<NativeWebRequest> getRequest() {
|
||||
return Optional.ofNullable(request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1213,6 +1213,135 @@ paths:
|
||||
x-accepts: application/json
|
||||
x-tags:
|
||||
- tag: pet
|
||||
/versioning/headers:
|
||||
post:
|
||||
operationId: versioningHeaders
|
||||
parameters:
|
||||
- in: header
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/query-params:
|
||||
post:
|
||||
operationId: versioningQueryParams
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValue
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
/versioning/mix:
|
||||
post:
|
||||
operationId: versioningMix
|
||||
parameters:
|
||||
- in: query
|
||||
name: VersionWithDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: query
|
||||
name: VersionNoDefaultValueQuery
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionWithDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
default: V1
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- in: header
|
||||
name: VersionNoDefaultValueHeader
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
x-version-param: true
|
||||
x-version-param: true
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
tags:
|
||||
- versioning
|
||||
x-accepts: '*/*'
|
||||
x-tags:
|
||||
- tag: versioning
|
||||
components:
|
||||
schemas:
|
||||
Order:
|
||||
|
||||
Reference in New Issue
Block a user