Skip to content

Commit efe5582

Browse files
committed
Fix removal of RequestMapping version attribute if x-spring-api-version: '' is set at the operation level
1 parent c280f9d commit efe5582

3 files changed

Lines changed: 4 additions & 6 deletions

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -882,9 +882,7 @@ private void prepareVersioningParameters(List<CodegenOperation> operations) {
882882
operation.vendorExtensions.put("versionQueryParamsList", versionParams);
883883
}
884884
if (hasApiVersion) {
885-
if (!operation.vendorExtensions.remove(VendorExtension.X_SPRING_API_VERSION.getName(), "")) {
886-
operation.vendorExtensions.putIfAbsent(VendorExtension.X_SPRING_API_VERSION.getName(), apiVersion);
887-
}
885+
operation.vendorExtensions.putIfAbsent(VendorExtension.X_SPRING_API_VERSION.getName(), apiVersion);
888886
}
889887
}
890888
}

modules/openapi-generator/src/main/resources/JavaSpring/api.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,8 @@ public interface {{classname}} {
252252
produces = { {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }{{/hasProduces}}{{#hasConsumes}},
253253
consumes = { {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }{{/hasConsumes}}{{/singleContentTypes}}{{#hasVersionHeaders}},
254254
headers = { {{#vendorExtensions.versionHeaderParamsList}}"{{baseName}}{{#defaultValue}}={{{.}}}{{/defaultValue}}"{{^-last}}, {{/-last}}{{/vendorExtensions.versionHeaderParamsList}} } {{/hasVersionHeaders}}{{#hasVersionQueryParams}},
255-
params = { {{#vendorExtensions.versionQueryParamsList}}"{{baseName}}{{#defaultValue}}={{{.}}}{{/defaultValue}}"{{^-last}}, {{/-last}}{{/vendorExtensions.versionQueryParamsList}} } {{/hasVersionQueryParams}}{{#vendorExtensions.x-spring-api-version}},
256-
version = "{{{vendorExtensions.x-spring-api-version}}}"{{/vendorExtensions.x-spring-api-version}}
255+
params = { {{#vendorExtensions.versionQueryParamsList}}"{{baseName}}{{#defaultValue}}={{{.}}}{{/defaultValue}}"{{^-last}}, {{/-last}}{{/vendorExtensions.versionQueryParamsList}} } {{/hasVersionQueryParams}}{{#vendorExtensions.x-spring-api-version}}{{^empty}},
256+
version = "{{{vendorExtensions.x-spring-api-version}}}"{{/empty}}{{/vendorExtensions.x-spring-api-version}}
257257
)
258258
{{^useResponseEntity}}
259259
@ResponseStatus({{#springHttpStatus}}{{#responses.0}}{{{code}}}{{/responses.0}}{{/springHttpStatus}})

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/assertions/AbstractAnnotationsAssert.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public ACTUAL containsWithNameAndDoesContainAttributes(final String name, final
6060
private static boolean hasNotAttributes(final AnnotationExpr annotation, final List<String> attributes) {
6161
final Map<String, String> actualAttributes = getAttributes(annotation);
6262

63-
return actualAttributes.entrySet().stream()
63+
return actualAttributes.keySet().stream()
6464
.noneMatch(attribute -> attributes.contains(attribute));
6565
}
6666

0 commit comments

Comments
 (0)