mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-11 04:32:44 +00:00
[Java][Spring] version parameter (#14847)
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user