diff --git a/pom.xml b/pom.xml index c4713270e..62f66544b 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,7 @@ 0.7.0 1.5.0 - 2.2.43 + 2.2.45 5.32.0 1.13.1 0.9.1 diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocRequiredModule.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocRequiredModule.java index 60379850d..e4edc5679 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocRequiredModule.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocRequiredModule.java @@ -30,7 +30,8 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import io.swagger.v3.core.jackson.SwaggerAnnotationIntrospector; import io.swagger.v3.oas.annotations.media.Schema; -import org.apache.commons.lang3.StringUtils; + +import static org.springdoc.core.utils.SpringDocAnnotationsUtils.hasADefaultValue; /** * The type Spring doc required module. @@ -57,7 +58,7 @@ public Boolean hasRequiredMarker(AnnotatedMember annotatedMember) { if (schemaAnnotation.required() || requiredMode == Schema.RequiredMode.REQUIRED) { return true; } - else if (requiredMode == Schema.RequiredMode.NOT_REQUIRED || StringUtils.isNotEmpty(schemaAnnotation.defaultValue())) { + else if (requiredMode == Schema.RequiredMode.NOT_REQUIRED || hasADefaultValue(schemaAnnotation)) { return false; } } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/DataRestDelegatingMethodParameterCustomizer.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/DataRestDelegatingMethodParameterCustomizer.java index 50aa45695..454b70af2 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/DataRestDelegatingMethodParameterCustomizer.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/DataRestDelegatingMethodParameterCustomizer.java @@ -1122,7 +1122,7 @@ private String getDescription(String parameterName, String originalDescription) * @return the default value */ private String getDefaultValue(String parameterName, PageableDefault pageableDefault, String defaultSchemaVal) { - String defaultValue = null; + String defaultValue = defaultSchemaVal; switch (parameterName) { case "size": if (pageableDefault != null) { diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/schema/Builder.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/schema/Builder.java index 5ea175794..3115083e3 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/schema/Builder.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/schema/Builder.java @@ -197,7 +197,7 @@ public class Builder { /** * Provides a default value. */ - private String defaultValue = ""; + private String defaultValue = Schema.DEFAULT_SENTINEL; /** * Provides a discriminator property value. diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/securityrequirement/Builder.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/securityrequirement/Builder.java index 80c089231..71c47dc47 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/securityrequirement/Builder.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/fn/builders/securityrequirement/Builder.java @@ -29,6 +29,7 @@ import java.lang.annotation.Annotation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.security.SecurityRequirementEntry; /** * The type Security requirement builder. @@ -47,6 +48,12 @@ public class Builder { */ private String[] scopes = {}; + /** + * If multiple requirements apply at the same time, use this value instead of {@link #name} and {@link #scopes}. + * If any one of multiple security schemes is required, use multiple {@link SecurityRequirement} annotations instead. + *

Exactly one of this and {@link #name} must be set.

+ */ + private SecurityRequirementEntry[] securityRequirementEntries = {}; /** * Instantiates a new Security requirement builder. @@ -85,6 +92,17 @@ public Builder scopes(String[] scopes) { return this; } + /** + * SecurityRequirementEntries security requirement builder. + * + * @param securityRequirementEntries the securityRequirementEntries + * @return the security requirement builder + */ + public Builder securityRequirementEntries(SecurityRequirementEntry[] securityRequirementEntries) { + this.securityRequirementEntries = securityRequirementEntries; + return this; + } + /** * Build security requirement. * @@ -106,6 +124,11 @@ public String name() { public String[] scopes() { return scopes; } + + @Override + public SecurityRequirementEntry[] combine() { + return securityRequirementEntries; + } }; } } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/AbstractRequestService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/AbstractRequestService.java index 54609b445..f6f67c98a 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/AbstractRequestService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/AbstractRequestService.java @@ -35,22 +35,10 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.security.Principal; +import java.time.LocalDate; import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.TimeZone; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -639,14 +627,8 @@ public Parameter buildParam(ParameterInfo parameterInfo, Components components, Schema schema = parameterBuilder.calculateSchema(components, parameterInfo, null, jsonView); if (parameterInfo.getDefaultValue() != null && schema != null) { - Object defaultValue = parameterInfo.getDefaultValue(); - // Cast default value PrimitiveType primitiveType = PrimitiveType.fromTypeAndFormat(schema.getType(), schema.getFormat()); - if (primitiveType != null) { - Schema primitiveSchema = primitiveType.createProperty(); - primitiveSchema.setDefault(parameterInfo.getDefaultValue()); - defaultValue = primitiveSchema.getDefault(); - } + Object defaultValue = castDefaultValue(primitiveType, parameterInfo.getDefaultValue()); schema.setDefault(defaultValue); } parameter.setSchema(schema); @@ -654,6 +636,27 @@ public Parameter buildParam(ParameterInfo parameterInfo, Components components, return parameter; } + /** + * Cast the default value so that it matches the {@link PrimitiveType} + * + * @param primitiveType the primitive type + * @param defaultValue the default value + * @return the cast default value + */ + private Object castDefaultValue(PrimitiveType primitiveType, Object defaultValue) { + if (primitiveType != null) { + Schema primitiveSchema = primitiveType.createProperty(); + if (primitiveType.equals(PrimitiveType.DATE) && defaultValue instanceof LocalDate localDate) { + defaultValue = localDate.toString(); + } + primitiveSchema.setDefault(defaultValue); + if (primitiveSchema.getDefault() != null) { + defaultValue = primitiveSchema.getDefault(); + } + } + return defaultValue; + } + /** * Apply bean validator annotations. * diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericParameterService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericParameterService.java index d759699f9..ce35fd323 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericParameterService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericParameterService.java @@ -357,7 +357,7 @@ private void setSchema(io.swagger.v3.oas.annotations.Parameter parameterDoc, Com if (schema == null && parameterDoc.array() != null) { schema = AnnotationsUtils.getSchema(parameterDoc.schema(), parameterDoc.array(), true, parameterDoc.array().schema().implementation(), components, jsonView, propertyResolverUtils.isOpenapi31()).orElse(null); // default value not set by swagger-core for array ! - if (schema != null) { + if (schema != null && SpringDocAnnotationsUtils.hasADefaultValue(parameterDoc.array().arraySchema())) { Object defaultValue = SpringDocAnnotationsUtils.resolveDefaultValue(parameterDoc.array().arraySchema().defaultValue(), objectMapperProvider.jsonMapper()); schema.setDefault(defaultValue); } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/OpenAPIService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/OpenAPIService.java index 325090829..8064c81d2 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/OpenAPIService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/OpenAPIService.java @@ -51,6 +51,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.v3.core.jackson.TypeNameResolver; import io.swagger.v3.core.util.AnnotationsUtils; +import io.swagger.v3.core.util.Json; +import io.swagger.v3.core.util.Json31; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.Webhook; @@ -58,10 +60,7 @@ import io.swagger.v3.oas.annotations.security.SecuritySchemes; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tags; -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.Paths; +import io.swagger.v3.oas.models.*; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; @@ -76,6 +75,7 @@ import org.springdoc.core.customizers.ServerBaseUrlCustomizer; import org.springdoc.core.properties.SpringDocConfigProperties; import org.springdoc.core.providers.JavadocProvider; +import org.springdoc.core.providers.ObjectMapperProvider; import org.springdoc.core.utils.PropertyResolverUtils; import org.springframework.beans.BeansException; @@ -247,7 +247,7 @@ public OpenAPI build(Locale locale) { calculatedOpenAPI.setPaths(new Paths()); } else { - calculatedOpenAPI = cloneViaJson(openAPI, OpenAPI.class, new ObjectMapper()); + calculatedOpenAPI = cloneViaJson(openAPI, OpenAPI.class, ObjectMapperProvider.createJson(springDocConfigProperties)); } if (apiDef.isPresent()) { diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocAnnotationsUtils.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocAnnotationsUtils.java index 770cf372a..ab4e4a131 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocAnnotationsUtils.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocAnnotationsUtils.java @@ -468,6 +468,16 @@ private static boolean isArray(io.swagger.v3.oas.annotations.media.Content annot return isArray; } + /** + * Whether the schema has defined a default value. + * + * @param schema The schema annotation + * @return Whether the schema annotation has defined a default value + */ + public static boolean hasADefaultValue(io.swagger.v3.oas.annotations.media.Schema schema) { + return schema != null && !schema.defaultValue().equals(io.swagger.v3.oas.annotations.media.Schema.DEFAULT_SENTINEL); + } + /** * Resolve default value object. * @@ -519,7 +529,7 @@ public static Optional> getHeaders(io.swagger.v3.oas.annotat public static void clearCache(JavadocProvider javadocProvider) { if (javadocProvider != null) javadocProvider.clearCache(); - MODEL_CONVERTER_CONTEXT_MAP.remove();; + MODEL_CONVERTER_CONTEXT_MAP.remove(); } /** diff --git a/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.0.1/app102.json b/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.0.1/app102.json index e77bbf251..efff70289 100644 --- a/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.0.1/app102.json +++ b/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.0.1/app102.json @@ -23,7 +23,8 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable": true } }, { @@ -86,7 +87,8 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable": true } }, { diff --git a/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.1.0/app102.json b/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.1.0/app102.json index 2a6c70e57..df33447dc 100644 --- a/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.1.0/app102.json +++ b/springdoc-openapi-starter-webflux-api/src/test/resources/results/3.1.0/app102.json @@ -23,7 +23,7 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { @@ -86,7 +86,7 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v30/app173/SpringDocApp173Test.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v30/app173/SpringDocApp173Test.java index 025900a5e..8797eea75 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v30/app173/SpringDocApp173Test.java +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v30/app173/SpringDocApp173Test.java @@ -70,8 +70,8 @@ static class SpringDocTestApp { @Bean public OpenAPI openAPI() { return new OpenAPI() - .info(new Info().extensions(Map.of("TEST", "HELLO"))) - .extensions(Map.of("TEST", "HELLO")); + .info(new Info().extensions(Map.of("x-TEST", "HELLO"))) + .extensions(Map.of("x-TEST", "HELLO")); } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app173/SpringDocApp173Test.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app173/SpringDocApp173Test.java index 03be33ff3..ea404863d 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app173/SpringDocApp173Test.java +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app173/SpringDocApp173Test.java @@ -70,8 +70,8 @@ static class SpringDocTestApp { @Bean public OpenAPI openAPI() { return new OpenAPI() - .info(new Info().extensions(Map.of("TEST", "HELLO"))) - .extensions(Map.of("TEST", "HELLO")); + .info(new Info().extensions(Map.of("x-TEST", "HELLO"))) + .extensions(Map.of("x-TEST", "HELLO")); } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloController.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloController.java index a146cb3e3..e491a49c3 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloController.java +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloController.java @@ -1,31 +1,47 @@ +/* + * + * * + * * * + * * * * + * * * * * Copyright 2019-2026 the original author or authors. + * * * * * + * * * * * Licensed under the Apache License, Version 2.0 (the "License"); + * * * * * you may not use this file except in compliance with the License. + * * * * * You may obtain a copy of the License at + * * * * * + * * * * * https://www.apache.org/licenses/LICENSE-2.0 + * * * * * + * * * * * Unless required by applicable law or agreed to in writing, software + * * * * * distributed under the License is distributed on an "AS IS" BASIS, + * * * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * * * * See the License for the specific language governing permissions and + * * * * * limitations under the License. + * * * * + * * * + * * + * + */ package test.org.springdoc.api.v31.app245; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.extensions.Extension; -import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; -import io.swagger.v3.oas.annotations.info.Info; - -import org.springframework.boot.autoconfigure.SpringBootApplication; +import com.fasterxml.jackson.annotation.JsonView; +import org.springdoc.core.annotations.ParameterObject; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -@SpringBootApplication -@OpenAPIDefinition( - info = @Info( - title = "My App", - version = "${springdoc.version}", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = "x-build-time", value = "${git.build.time}") - }) - } - ) -) +import java.util.List; + +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; + @RestController public class HelloController { - @GetMapping("/hello") - public String hello() { - return "hello"; - } + @JsonView(Views.Hello.class) + @GetMapping(value = "/hello-paged", produces = APPLICATION_JSON_VALUE) + public ResponseEntity> getHelloWorldPaged(@ParameterObject Pageable pageable) { + return ResponseEntity.ok(new PageImpl<>(List.of(new HelloWorld("hello", "world")), pageable, 1)); + } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloWorld.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloWorld.java new file mode 100644 index 000000000..c2399e0d7 --- /dev/null +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/HelloWorld.java @@ -0,0 +1,48 @@ +/* + * + * * + * * * + * * * * + * * * * * Copyright 2019-2026 the original author or authors. + * * * * * + * * * * * Licensed under the Apache License, Version 2.0 (the "License"); + * * * * * you may not use this file except in compliance with the License. + * * * * * You may obtain a copy of the License at + * * * * * + * * * * * https://www.apache.org/licenses/LICENSE-2.0 + * * * * * + * * * * * Unless required by applicable law or agreed to in writing, software + * * * * * distributed under the License is distributed on an "AS IS" BASIS, + * * * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * * * * See the License for the specific language governing permissions and + * * * * * limitations under the License. + * * * * + * * * + * * + * + */ +package test.org.springdoc.api.v31.app245; + +import com.fasterxml.jackson.annotation.JsonView; + +public class HelloWorld { + + @JsonView(Views.Hello.class) + private String hello; + + @JsonView(Views.World.class) + private String world; + + public HelloWorld(String hello, String world) { + this.hello = hello; + this.world = world; + } + + public String getHello() { + return hello; + } + + public String getWorld() { + return world; + } +} diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/SpringDocApp245Test.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/SpringDocApp245Test.java index c6d8a3e17..84f113e2c 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/SpringDocApp245Test.java +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/SpringDocApp245Test.java @@ -1,32 +1,11 @@ package test.org.springdoc.api.v31.app245; -import org.junit.jupiter.api.Test; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import test.org.springdoc.api.v30.AbstractSpringDocV30Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.web.servlet.MockMvc; - -import static org.hamcrest.Matchers.is; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@SpringBootTest(properties = { - "springdoc.version=v1", - "git.build.time=2025-07-08T12:00:00Z" -}) -@AutoConfigureMockMvc -class SpringDocApp245Test { - - @Autowired - private MockMvc mockMvc; - - @Test - void SpringDocTestApp() throws Exception { - mockMvc.perform(get("/v3/api-docs")) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.info.version", is("v1"))) - .andExpect(jsonPath("$.info.x-build-time", is("2025-07-08T12:00:00Z"))); +public class SpringDocApp245Test extends AbstractSpringDocV30Test { + @SpringBootApplication + static class SpringDocTestApp { } } + diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/Views.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/Views.java new file mode 100644 index 000000000..deb7f757d --- /dev/null +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app245/Views.java @@ -0,0 +1,29 @@ +/* + * + * * + * * * + * * * * + * * * * * Copyright 2019-2026 the original author or authors. + * * * * * + * * * * * Licensed under the Apache License, Version 2.0 (the "License"); + * * * * * you may not use this file except in compliance with the License. + * * * * * You may obtain a copy of the License at + * * * * * + * * * * * https://www.apache.org/licenses/LICENSE-2.0 + * * * * * + * * * * * Unless required by applicable law or agreed to in writing, software + * * * * * distributed under the License is distributed on an "AS IS" BASIS, + * * * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * * * * See the License for the specific language governing permissions and + * * * * * limitations under the License. + * * * * + * * * + * * + * + */ +package test.org.springdoc.api.v31.app245; + +public class Views { + public static class Hello {} + public static class World {} +} diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/HelloController.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/HelloController.java new file mode 100644 index 000000000..bfbae68d4 --- /dev/null +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/HelloController.java @@ -0,0 +1,30 @@ +package test.org.springdoc.api.v31.app249; + +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.extensions.Extension; +import io.swagger.v3.oas.annotations.extensions.ExtensionProperty; +import io.swagger.v3.oas.annotations.info.Info; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@SpringBootApplication +@OpenAPIDefinition( + info = @Info( + title = "My App", + version = "${springdoc.version}", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = "x-build-time", value = "${git.build.time}") + }) + } + ) +) +@RestController +public class HelloController { + + @GetMapping("/hello") + public String hello() { + return "hello"; + } +} diff --git a/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/SpringDocApp249Test.java b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/SpringDocApp249Test.java new file mode 100644 index 000000000..1bc90eb22 --- /dev/null +++ b/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app249/SpringDocApp249Test.java @@ -0,0 +1,31 @@ +package test.org.springdoc.api.v31.app249; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; + +import static org.hamcrest.Matchers.is; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest(properties = { + "springdoc.version=v1", + "git.build.time=2025-07-08T12:00:00Z" +}) +@AutoConfigureMockMvc +class SpringDocApp249Test { + + @Autowired + private MockMvc mockMvc; + + @Test + void SpringDocTestApp() throws Exception { + mockMvc.perform(get("/v3/api-docs")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.info.version", is("v1"))) + .andExpect(jsonPath("$.info.x-build-time", is("2025-07-08T12:00:00Z"))); + } +} diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app102.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app102.json index 1981b04bf..a5da3df32 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app102.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app102.json @@ -23,7 +23,8 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable" : true } }, { @@ -77,7 +78,8 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable": true } }, { diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app150.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app150.json index 95c0997c1..6649e5c3c 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app150.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app150.json @@ -24,7 +24,8 @@ "required": false, "schema": { "type": "string", - "format": "date" + "format": "date", + "default" : "2021-03-08" } } ], diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app173.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app173.json index a576fe5be..3f9fe4d02 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app173.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.0.1/app173.json @@ -1,7 +1,7 @@ { "openapi": "3.0.1", "info": { - "TEST": "HELLO" + "x-TEST": "HELLO" }, "servers": [ { @@ -25,5 +25,5 @@ } }, "components": {}, - "TEST": "HELLO" + "x-TEST": "HELLO" } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app102.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app102.json index ed29774ae..7d027cfe9 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app102.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app102.json @@ -23,7 +23,7 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { @@ -77,7 +77,7 @@ "in": "query", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app108.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app108.json index fcb0e4523..1d53b129d 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app108.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app108.json @@ -57,7 +57,9 @@ "message": { "type": "string" }, - "errorValue": {}, + "errorValue": { + "type": "object" + }, "targetUrl": { "type": "string" } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app124.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app124.json index b19f00a7b..50267c96e 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app124.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app124.json @@ -74,22 +74,24 @@ "format": "uri" }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "status": { "type": "integer", "format": "int32" }, "detail": { - "type": "string" + "type" : [ "string", "null" ] }, "instance": { - "type": "string", + "type" : [ "string", "null" ], "format": "uri" }, "properties": { - "type": "object", - "additionalProperties": {} + "type" : [ "object", "null" ], + "additionalProperties": { + "type" : [ "object", "null" ] + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app126.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app126.json index 41b170ffd..bbdcd9fa8 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app126.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app126.json @@ -58,7 +58,9 @@ }, "parameters": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } }, "status": { "type": "integer", diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app173.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app173.json index 6167fa514..ea81b1f6f 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app173.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app173.json @@ -1,7 +1,7 @@ { "openapi": "3.1.0", "info": { - "TEST": "HELLO" + "x-TEST": "HELLO" }, "servers": [ { @@ -25,5 +25,5 @@ } }, "components": {}, - "TEST": "HELLO" + "x-TEST": "HELLO" } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app180.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app180.json index bb6457b04..2596d5e9a 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app180.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app180.json @@ -79,6 +79,7 @@ "Body": { "type": "object", "additionalProperties": { + "type": "object", "description": "Body", "example": { "key": "value" diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app188.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app188.json index cb0b51795..600c11506 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app188.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app188.json @@ -89,7 +89,9 @@ }, "data": { "type": "object", - "additionalProperties": {}, + "additionalProperties": { + "type": "object" + }, "example": { "param1": "val1", "param2": "val2" diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app197.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app197.json index e510d4be3..bf9a29ab0 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app197.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app197.json @@ -34,7 +34,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -68,7 +70,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app2.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app2.json index cc0794af3..11e0572be 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app2.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app2.json @@ -56,7 +56,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -128,7 +130,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -161,7 +165,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -202,7 +208,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -252,7 +260,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -296,7 +306,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -335,7 +347,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -374,7 +388,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -409,7 +425,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -459,7 +477,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -545,7 +565,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -596,7 +618,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -669,7 +693,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -709,7 +735,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -754,7 +782,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -805,7 +835,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -866,7 +898,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -892,7 +926,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -947,7 +983,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } @@ -1013,7 +1051,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type" : "object" + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app202.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app202.json index e510d4be3..c003b4162 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app202.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app202.json @@ -34,7 +34,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -68,7 +70,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app245.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app245.json new file mode 100644 index 000000000..612e3de61 --- /dev/null +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app245.json @@ -0,0 +1,169 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "OpenAPI definition", + "version": "v0" + }, + "servers": [ + { + "url": "http://localhost", + "description": "Generated server url" + } + ], + "paths": { + "/hello-paged": { + "get": { + "tags": [ + "hello-controller" + ], + "operationId": "getHelloWorldPaged", + "parameters": [ + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageHelloWorld_Hello" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "HelloWorld_Hello": { + "type": "object", + "properties": { + "hello": { + "type": "string" + } + } + }, + "PageableObject_Hello": { + "type": "object", + "properties": { + "pageNumber": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "paged": { + "type": "boolean" + }, + "unpaged": { + "type": "boolean" + }, + "sort": { + "$ref": "#/components/schemas/SortObject_Hello" + }, + "offset": { + "type": "integer", + "format": "int64" + } + } + }, + "PageHelloWorld_Hello": { + "type": "object", + "properties": { + "totalPages": { + "type": "integer", + "format": "int32" + }, + "totalElements": { + "type": "integer", + "format": "int64" + }, + "size": { + "type": "integer", + "format": "int32" + }, + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HelloWorld_Hello" + } + }, + "number": { + "type": "integer", + "format": "int32" + }, + "sort": { + "$ref": "#/components/schemas/SortObject_Hello" + }, + "pageable": { + "$ref": "#/components/schemas/PageableObject_Hello" + }, + "numberOfElements": { + "type": "integer", + "format": "int32" + }, + "first": { + "type": "boolean" + }, + "last": { + "type": "boolean" + }, + "empty": { + "type": "boolean" + } + } + }, + "SortObject_Hello": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + }, + "sorted": { + "type": "boolean" + }, + "unsorted": { + "type": "boolean" + } + } + } + } + } +} \ No newline at end of file diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app51.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app51.json index 1c0ef542f..280eab52e 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app51.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app51.json @@ -22,7 +22,9 @@ "application/json": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } }, @@ -35,7 +37,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app60.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app60.json index d239d9164..574d8ffb1 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app60.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app60.json @@ -54,7 +54,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } @@ -96,7 +98,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app7.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app7.json index f5635e871..bf3460ec8 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app7.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app7.json @@ -47,7 +47,6 @@ "subject": { "type": "string", "description": "subject", - "example": "Hello", "examples": [ "Hello", "World" diff --git a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app75.json b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app75.json index e5f8d00ae..59441b674 100644 --- a/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app75.json +++ b/springdoc-openapi-starter-webmvc-api/src/test/resources/results/3.1.0/app75.json @@ -38,7 +38,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app10.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app10.json index d7ea17c5e..80c9360d5 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app10.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app10.json @@ -836,7 +836,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelCustomer": { "type": "object", @@ -933,22 +934,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app11.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app11.json index f840c5afd..734034bba 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app11.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app11.json @@ -276,7 +276,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPerson": { "type": "object", @@ -326,22 +327,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app12.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app12.json index 1b96010df..74f361911 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app12.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app12.json @@ -93,22 +93,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app16.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app16.json index 553d65d49..51144b42e 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app16.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app16.json @@ -1069,7 +1069,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelCustomer": { "type": "object", @@ -1181,22 +1182,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app17.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app17.json index e1085bae2..037e568a3 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app17.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app17.json @@ -354,7 +354,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelChildProperty": { "type": "object", @@ -425,22 +426,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app20.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app20.json index 8a208bfb0..065774a70 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app20.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app20.json @@ -490,7 +490,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelBank": { "type": "object", @@ -536,22 +537,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app21.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app21.json index f61470407..c8d119f21 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app21.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app21.json @@ -363,7 +363,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPerson": { "type": "object", @@ -405,22 +406,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app22.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app22.json index 9ad681c13..ce129c55f 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app22.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app22.json @@ -273,7 +273,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPerson": { "type": "object", @@ -315,22 +316,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app23.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app23.json index 4b297655c..e28a530ea 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app23.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app23.json @@ -996,22 +996,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app25.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app25.json index 9a6dae8de..ce8db9597 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app25.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app25.json @@ -2189,7 +2189,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelOwner": { "type": "object", @@ -2665,22 +2666,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app26.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app26.json index 562819ee2..99eaebe59 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app26.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app26.json @@ -296,7 +296,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPerson": { "type": "object", @@ -346,22 +347,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app29.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app29.json index 8eb0185ab..ba519efff 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app29.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app29.json @@ -264,7 +264,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPerson": { "type": "object", @@ -306,22 +307,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app34.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app34.json index a485878bf..a147af373 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app34.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app34.json @@ -1319,7 +1319,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelCustomer": { "type": "object", @@ -1400,22 +1401,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app36.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app36.json index 3aabae473..ec559792f 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app36.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app36.json @@ -131,28 +131,34 @@ "type": "object", "properties": { "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "href": { "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true } } }, diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app37.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app37.json index 6b95b0716..73e6b7842 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app37.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app37.json @@ -731,7 +731,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelProductEntity": { "type": "object", @@ -808,22 +809,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app4.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app4.json index 8c08cc119..72cd932ab 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app4.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app4.json @@ -196,22 +196,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app6.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app6.json index 23665a63d..9c37638fc 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app6.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app6.json @@ -97,22 +97,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app8.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app8.json index 2de869822..fd106ac63 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app8.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app8.json @@ -73,7 +73,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelAlbum": { "type": "object", @@ -104,22 +105,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app9.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app9.json index b3ef7ca0c..6fdaab654 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app9.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.0.1/app9.json @@ -118,25 +118,32 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "media": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true } } }, @@ -159,7 +166,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelRepresentationModelEntityModelDemoComponentDto": { "type": "object", diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app10.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app10.json index dc24676ae..951241009 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app10.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app10.json @@ -831,7 +831,9 @@ "properties": { "objects": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } }, @@ -860,7 +862,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -925,22 +927,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app11.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app11.json index 3e9d8a418..6e9032de6 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app11.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app11.json @@ -258,7 +258,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -326,22 +326,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app12.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app12.json index b5d3256c8..60faec1e3 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app12.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app12.json @@ -93,22 +93,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app16.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app16.json index 4d6aafd68..fea3d4974 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app16.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app16.json @@ -1051,7 +1051,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -1132,7 +1132,9 @@ "properties": { "objects": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } }, @@ -1179,22 +1181,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app17.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app17.json index f62a6e888..541d680db 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app17.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app17.json @@ -336,7 +336,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -425,22 +425,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app20.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app20.json index 21565f6af..9fe12fb37 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app20.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app20.json @@ -472,7 +472,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -536,22 +536,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app21.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app21.json index adc13ea4a..fefe4e55c 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app21.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app21.json @@ -345,7 +345,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -405,22 +405,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app22.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app22.json index d0be6037d..a504dbc67 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app22.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app22.json @@ -255,7 +255,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -315,22 +315,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app23.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app23.json index 5a2a3a851..5341b8bb5 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app23.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app23.json @@ -901,7 +901,9 @@ "properties": { "objects": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } }, @@ -994,22 +996,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app25.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app25.json index 35fb93852..2e71e7d62 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app25.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app25.json @@ -2015,7 +2015,7 @@ ] }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -2065,7 +2065,9 @@ "properties": { "objects": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } }, @@ -2659,22 +2661,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app26.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app26.json index 06cd6bc64..7b24b8822 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app26.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app26.json @@ -278,7 +278,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -346,22 +346,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app29.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app29.json index c692e756d..840c881dc 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app29.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app29.json @@ -246,7 +246,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -306,22 +306,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app34.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app34.json index e3a6de0bc..a63c0cc9a 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app34.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app34.json @@ -1235,7 +1235,9 @@ "properties": { "objects": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } }, @@ -1264,7 +1266,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -1398,22 +1400,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app36.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app36.json index b148f585a..97a478d98 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app36.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app36.json @@ -130,29 +130,29 @@ "Link": { "type": "object", "properties": { - "deprecation": { - "type": "string" - }, "href": { "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, - "name": { - "type": "string" + "title": { + "type" : [ "string", "null" ] + }, + "type": { + "type" : [ "string", "null" ] + }, + "deprecation": { + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] + }, + "name": { + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" } } }, diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app37.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app37.json index 7759dead0..20330ffe4 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app37.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app37.json @@ -713,7 +713,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -808,22 +808,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app4.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app4.json index 09eb17db0..9185104cf 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app4.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app4.json @@ -196,22 +196,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app6.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app6.json index 0d368ee00..d1a920f28 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app6.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app6.json @@ -97,22 +97,40 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": [ + "string", + "null" + ] }, "title": { - "type": "string" + "type": [ + "string", + "null" + ] }, "type": { - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecation": { - "type": "string" + "type": [ + "string", + "null" + ] }, "profile": { - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { - "type": "string" + "type": [ + "string", + "null" + ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app8.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app8.json index 6fbcf3fd7..7e8141540 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app8.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app8.json @@ -55,7 +55,7 @@ } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", @@ -104,22 +104,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app9.json b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app9.json index 54a7df17f..36866b6c6 100644 --- a/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app9.json +++ b/springdoc-openapi-tests/springdoc-openapi-data-rest-tests/src/test/resources/results/3.1.0/app9.json @@ -118,30 +118,30 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "media": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] } } }, "PageMetadata": { - "type": "object", + "type": "null", "properties": { "size": { "type": "integer", diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app1.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app1.json index c3f208fbb..35b729d88 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app1.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app1.json @@ -196,22 +196,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app11.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app11.json index 0cfe85e9e..ef99c921e 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app11.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app11.json @@ -111,22 +111,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app2.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app2.json index 79166c2c6..7b304c65c 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app2.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app2.json @@ -112,7 +112,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelEntityModelPost": { "type": "object", @@ -143,22 +144,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app3.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app3.json index 760c734f1..44be60d2f 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app3.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app3.json @@ -97,22 +97,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app4.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app4.json index 382fc3d55..aba0111bf 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app4.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app4.json @@ -73,7 +73,8 @@ "type": "integer", "format": "int64" } - } + }, + "nullable": true }, "PagedModelAlbum": { "type": "object", @@ -104,22 +105,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app5.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app5.json index 5bf9f83e8..f4ca9a104 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app5.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app5.json @@ -89,22 +89,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app6.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app6.json index 4b3772946..0f5d520fd 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app6.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app6.json @@ -82,25 +82,32 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "media": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app7.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app7.json index 5d9730f62..b50c2a8ba 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app7.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app7.json @@ -69,22 +69,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app8.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app8.json index f595bfe5f..fd181e14b 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app8.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app8.json @@ -177,25 +177,32 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "media": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true } } }, diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9.json index 91d57452d..54aa228cc 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9.json @@ -62,8 +62,10 @@ "components": { "schemas": { "FeedResponse": { + "type": "object", "properties": { "_links": { + "type": "object", "properties": { "next": { "$ref": "#/components/schemas/Link" @@ -106,22 +108,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9wrong.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9wrong.json index 45fe97cdc..a5391fe3e 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9wrong.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.0.1/app9wrong.json @@ -88,22 +88,28 @@ "type": "string" }, "hreflang": { - "type": "string" + "type": "string", + "nullable": true }, "title": { - "type": "string" + "type": "string", + "nullable": true }, "type": { - "type": "string" + "type": "string", + "nullable": true }, "deprecation": { - "type": "string" + "type": "string", + "nullable": true }, "profile": { - "type": "string" + "type": "string", + "nullable": true }, "name": { - "type": "string" + "type": "string", + "nullable": true }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app1.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app1.json index 60e2a1866..2ec8095e0 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app1.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app1.json @@ -196,22 +196,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-direct.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-direct.json index 1c93f179f..adbcde737 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-direct.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-direct.json @@ -174,7 +174,9 @@ "properties": { "content": { "type": "array", - "items": {} + "items": { + "type": "object" + } }, "page": { "$ref": "#/components/schemas/PageMetadata" @@ -309,7 +311,9 @@ }, "content": { "type": "array", - "items": {} + "items": { + "type": "object" + } }, "number": { "type": "integer", diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-via_dto.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-via_dto.json index f7853b31f..3434e8fe1 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-via_dto.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app10-via_dto.json @@ -174,7 +174,9 @@ "properties": { "content": { "type": "array", - "items": {} + "items": { + "type": "object" + } }, "page": { "$ref": "#/components/schemas/PageMetadata" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app11.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app11.json index a40b8cb0b..5b58a7c3c 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app11.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app11.json @@ -81,7 +81,7 @@ "description": "Represents a Cat class.", "properties": { "name": { - "type": "string", + "type": [ "string", "null" ], "description": "The name." } } @@ -93,22 +93,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app12.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app12.json index 99b4b00c9..98b7f8019 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app12.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app12.json @@ -78,7 +78,7 @@ "description": "Represents a Cat class.", "properties": { "name": { - "type": "string", + "type": [ "string", "null" ], "description": "The name." } } diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app13.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app13.json index 8560aeb6a..3e18e20d6 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app13.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app13.json @@ -110,22 +110,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app2.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app2.json index 4f43b9a0e..9b811faef 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app2.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app2.json @@ -94,7 +94,7 @@ } }, "PageMetadata": { - "type": "object", + "type" : "null", "properties": { "size": { "type": "integer", @@ -143,22 +143,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app3.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app3.json index d9630c227..5ee030155 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app3.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app3.json @@ -97,22 +97,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app4.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app4.json index 4c29ecf08..32850f270 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app4.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app4.json @@ -55,7 +55,7 @@ } }, "PageMetadata": { - "type": "object", + "type" : "null", "properties": { "size": { "type": "integer", @@ -104,22 +104,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app5.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app5.json index badd1f750..c6c9b9593 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app5.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app5.json @@ -89,22 +89,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app6.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app6.json index 9cc16a738..1eced6039 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app6.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app6.json @@ -82,25 +82,25 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "media": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app7.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app7.json index e5652df4e..6b98dc3e9 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app7.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app7.json @@ -69,22 +69,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app8.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app8.json index f345d8420..5d5325c58 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app8.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app8.json @@ -177,25 +177,25 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "media": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] } } }, diff --git a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app9.json b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app9.json index b165286a7..8b3d14bf0 100644 --- a/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app9.json +++ b/springdoc-openapi-tests/springdoc-openapi-hateoas-tests/src/test/resources/results/3.1.0/app9.json @@ -90,22 +90,22 @@ "type": "string" }, "hreflang": { - "type": "string" + "type" : [ "string", "null" ] }, "title": { - "type": "string" + "type" : [ "string", "null" ] }, "type": { - "type": "string" + "type" : [ "string", "null" ] }, "deprecation": { - "type": "string" + "type" : [ "string", "null" ] }, "profile": { - "type": "string" + "type" : [ "string", "null" ] }, "name": { - "type": "string" + "type" : [ "string", "null" ] }, "templated": { "type": "boolean" diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app102.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app102.json index c308be4cb..cd5cc3e15 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app102.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app102.json @@ -32,7 +32,8 @@ "description": "the param", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable": true } }, { @@ -98,7 +99,8 @@ "description": "The Int param 3.", "required": false, "schema": { - "type": "string" + "type": "string", + "nullable": true } }, { diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app150.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app150.json index e692a44a3..ff62baf22 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app150.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.0.1/app150.json @@ -121,7 +121,8 @@ "required": false, "schema": { "type": "string", - "format": "date" + "format": "date", + "default": "2021-03-08" } } ], diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app102.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app102.json index debffb3ed..5b3fdd655 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app102.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app102.json @@ -32,7 +32,7 @@ "description": "the param", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { @@ -98,7 +98,7 @@ "description": "The Int param 3.", "required": false, "schema": { - "type": "string" + "type" : [ "string", "null" ] } }, { diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app108.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app108.json index 57d340a88..071dc7f7d 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app108.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app108.json @@ -73,6 +73,7 @@ "description": "The Message." }, "errorValue": { + "type": "object", "description": "The Error value." }, "targetUrl": { diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app126.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app126.json index 2359a2278..aca9a83cb 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app126.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app126.json @@ -67,7 +67,9 @@ }, "parameters": { "type": "object", - "additionalProperties": {}, + "additionalProperties": { + "type": "object" + }, "description": "Optional, additional attributes of the problem. Implementations can choose to ignore this in favor of concrete,\n typed fields." }, "detail": { diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app2.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app2.json index d3ec70ab7..652b55ea5 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app2.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app2.json @@ -57,7 +57,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -130,7 +132,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -165,7 +169,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -207,7 +213,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -258,7 +266,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -303,7 +313,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -343,7 +355,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -383,7 +397,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -420,7 +436,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -470,7 +488,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -557,7 +577,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -610,7 +632,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -684,7 +708,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -725,7 +751,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -771,7 +799,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -823,7 +853,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -885,7 +917,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -911,7 +945,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -966,7 +1002,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } @@ -1032,7 +1070,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app51.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app51.json index 64db87928..420aff299 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app51.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app51.json @@ -31,7 +31,9 @@ "application/json": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } }, @@ -44,7 +46,9 @@ "*/*": { "schema": { "type": "object", - "additionalProperties": {} + "additionalProperties": { + "type": "object" + } } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app60.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app60.json index feb69644d..df741179f 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app60.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app60.json @@ -61,7 +61,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } @@ -104,7 +106,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app75.json b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app75.json index a610efb78..907be310f 100644 --- a/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app75.json +++ b/springdoc-openapi-tests/springdoc-openapi-javadoc-tests/src/test/resources/results/3.1.0/app75.json @@ -132,7 +132,9 @@ "*/*": { "schema": { "type": "array", - "items": {} + "items": { + "type": "object" + } } } } diff --git a/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.0.1/app12.json b/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.0.1/app12.json index 407e5620a..8e5a6e7fa 100644 --- a/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.0.1/app12.json +++ b/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.0.1/app12.json @@ -24,6 +24,7 @@ "required": false, "schema": { "type": "string", + "nullable": true, "enum": [ "A", "B" diff --git a/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.1.0/app12.json b/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.1.0/app12.json index 868d8de2b..ba2d93fa6 100644 --- a/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.1.0/app12.json +++ b/springdoc-openapi-tests/springdoc-openapi-kotlin-webmvc-tests/src/test/resources/results/3.1.0/app12.json @@ -23,7 +23,7 @@ "in": "query", "required": false, "schema": { - "type": "string", + "type" : [ "string", "null" ], "enum": [ "A", "B"