Skip to content

Commit

Permalink
Springdoc does not resolve property descriptions for arrays. Fixes #2003
Browse files Browse the repository at this point in the history
  • Loading branch information
bnasslahsen committed Dec 14, 2022
1 parent 209c55b commit e4400d0
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.media.ArraySchema;
import io.swagger.v3.oas.models.media.Schema;
import io.swagger.v3.oas.models.servers.Server;
import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -174,6 +175,10 @@ public Schema resolveProperties(Schema<?> schema, Locale locale) {
if (!CollectionUtils.isEmpty(properties)) {
LinkedHashMap<String, Schema> resolvedSchemas = properties.entrySet().stream().map(es -> {
es.setValue(resolveProperties(es.getValue(), locale));
if(es.getValue() instanceof ArraySchema){
ArraySchema arraySchema = (ArraySchema) es.getValue();
resolveProperties(arraySchema.getItems(), locale);
}
return es;
}).collect(Collectors.toMap(Entry::getKey, Entry::getValue, (e1, e2) -> e2,
LinkedHashMap::new));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@

package test.org.springdoc.api.v30.app164;

import java.util.List;

import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Schema;

public class SampleResponseClass {

private String idAsFirstParameter;
Expand All @@ -32,6 +37,18 @@ public class SampleResponseClass {

private boolean booleanValueAsFourthParameter;

@ArraySchema( arraySchema = @Schema( description = "${blahDescription.value}" ),
schema = @Schema( description = "${blahDescription.value}" ) )
private List<String> listBlah;

public List<String> getListBlah() {
return listBlah;
}

public void setListBlah(List<String> listBlah) {
this.listBlah = listBlah;
}

public String getIdAsFirstParameter() {
return idAsFirstParameter;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
spring.main.banner-mode=off
logging.level.root=OFF
spring.main.lazy-initialization=true
spring.main.lazy-initialization=true
blahDescription.value=test
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,17 @@
},
"booleanValueAsFourthParameter": {
"type": "boolean"
},
"listBlah": {
"type": "array",
"description": "test",
"items": {
"type": "string",
"description": "test"
}
}
}
}
}
}
}
}

0 comments on commit e4400d0

Please sign in to comment.