Skip to content

Commit d46b735

Browse files
committed
Class level @tag overwrites method level @Operation.tags. Fixes #1475
1 parent 9f73f4e commit d46b735

File tree

3 files changed

+17
-4
lines changed
  • springdoc-openapi-common/src/main/java/org/springdoc/core
  • springdoc-openapi-javadoc/src/test/resources/results
  • springdoc-openapi-webmvc-core/src/test/resources/results

3 files changed

+17
-4
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/core/OpenAPIService.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,17 @@ public Operation buildTags(HandlerMethod handlerMethod, Operation operation, Ope
335335
}
336336
}
337337

338-
if (!CollectionUtils.isEmpty(tagsStr))
339-
operation.setTags(new ArrayList<>(tagsStr));
338+
if (!CollectionUtils.isEmpty(tagsStr)) {
339+
if(CollectionUtils.isEmpty(operation.getTags()))
340+
operation.setTags(new ArrayList<>(tagsStr));
341+
else
342+
{
343+
Set<String> operationTagsSet = new HashSet<>(operation.getTags());
344+
operationTagsSet.addAll(tagsStr);
345+
operation.getTags().clear();
346+
operation.getTags().addAll(operationTagsSet);
347+
}
348+
}
340349

341350
if (isAutoTagClasses(operation))
342351
operation.addTagsItem(splitCamelCase(handlerMethod.getBeanType().getSimpleName()));

springdoc-openapi-javadoc/src/test/resources/results/app1.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@
334334
"/inventory": {
335335
"get": {
336336
"tags": [
337+
"developers",
337338
"inventory"
338339
],
339340
"summary": "By passing in the appropriate options, you can search for available inventory in the system ",
@@ -414,7 +415,8 @@
414415
},
415416
"post": {
416417
"tags": [
417-
"inventory"
418+
"inventory",
419+
"admins"
418420
],
419421
"summary": "Adds an item to the system",
420422
"description": "adds an inventory item",

springdoc-openapi-webmvc-core/src/test/resources/results/app1.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@
327327
"/inventory": {
328328
"get": {
329329
"tags": [
330+
"developers",
330331
"inventory"
331332
],
332333
"summary": "By passing in the appropriate options, you can search for available inventory in the system ",
@@ -407,7 +408,8 @@
407408
},
408409
"post": {
409410
"tags": [
410-
"inventory"
411+
"inventory",
412+
"admins"
411413
],
412414
"summary": "Adds an item to the system",
413415
"description": "adds an inventory item",

0 commit comments

Comments
 (0)