diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 4678e5985..5001e8055 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -9,6 +9,7 @@ * #659 Idempotent DELETE by ids, optimizing performance * #660 Builders: auto-detect multi-column IDs * #662 Update expression parser with JavaCC 7.0.13 +* #673 OpenAPI should have an "array of string" schema for "include" and "exclude" ## Release 5.0.M19 diff --git a/agrest-jaxrs3-openapi/src/main/java/io/agrest/jaxrs3/openapi/parmconverter/UriInfoResolver.java b/agrest-jaxrs3-openapi/src/main/java/io/agrest/jaxrs3/openapi/parmconverter/UriInfoResolver.java index 66b10aad4..e6363e8bf 100644 --- a/agrest-jaxrs3-openapi/src/main/java/io/agrest/jaxrs3/openapi/parmconverter/UriInfoResolver.java +++ b/agrest-jaxrs3-openapi/src/main/java/io/agrest/jaxrs3/openapi/parmconverter/UriInfoResolver.java @@ -5,6 +5,7 @@ import io.agrest.protocol.Direction; import io.swagger.v3.jaxrs2.ResolvedParameter; import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.StringSchema; import io.swagger.v3.oas.models.parameters.Parameter; @@ -81,12 +82,11 @@ public ResolvedParameter resolve() { } protected Parameter createIncludeParam() { - // TODO: detailed schema - return queryParam(ControlParams.include); + return queryParam(ControlParams.include).schema(new ArraySchema().items(new StringSchema())); } protected Parameter createExcludeParam() { - return queryParam(ControlParams.exclude); + return queryParam(ControlParams.exclude).schema(new ArraySchema().items(new StringSchema())); } protected Parameter createSortParam() {