Skip to content

Commit beb3c66

Browse files
committed
Merge branch 'page-serialization-fix' of https://github.com/EvaristeGalois11/springdoc-openapi into EvaristeGalois11-page-serialization-fix
2 parents ef74a02 + 36e2053 commit beb3c66

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configuration/SpringDocPageableConfiguration.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.springframework.context.annotation.Configuration;
4444
import org.springframework.context.annotation.Lazy;
4545
import org.springframework.data.domain.Pageable;
46+
import org.springframework.data.web.PagedModel;
4647
import org.springframework.data.web.config.EnableSpringDataWebSupport;
4748
import org.springframework.data.web.config.SpringDataWebSettings;
4849

@@ -85,15 +86,16 @@ PageableOpenAPIConverter pageableOpenAPIConverter(ObjectMapperProvider objectMap
8586
*/
8687
@Bean
8788
@ConditionalOnMissingBean
88-
@ConditionalOnBean(SpringDataWebSettings.class)
89+
@ConditionalOnClass({ PagedModel.class, SpringDataWebSettings.class })
8990
@Lazy(false)
90-
PageOpenAPIConverter pageOpenAPIConverter(SpringDataWebSettings settings,
91+
PageOpenAPIConverter pageOpenAPIConverter(Optional<SpringDataWebSettings> settings,
9192
ObjectMapperProvider objectMapperProvider) {
92-
return new PageOpenAPIConverter(
93-
settings.pageSerializationMode() == EnableSpringDataWebSupport.PageSerializationMode.VIA_DTO,
94-
objectMapperProvider);
93+
boolean replacePageWithPagedModel = settings.map(SpringDataWebSettings::pageSerializationMode)
94+
.map(EnableSpringDataWebSupport.PageSerializationMode.VIA_DTO::equals)
95+
.orElse(false);
96+
return new PageOpenAPIConverter(replacePageWithPagedModel, objectMapperProvider);
9597
}
96-
98+
9799
/**
98100
* Delegating method parameter customizer delegating method parameter customizer.
99101
*

0 commit comments

Comments
 (0)