1818
1919package org .springdoc .core ;
2020
21+ import java .util .Optional ;
22+
2123import com .fasterxml .jackson .core .JsonGenerator ;
2224import com .fasterxml .jackson .databind .SerializerProvider ;
2325import io .swagger .v3 .core .converter .AnnotatedType ;
@@ -49,16 +51,18 @@ public class SpringDocDataRestConfiguration {
4951
5052 static {
5153 getConfig ().replaceWithClass (org .springframework .data .domain .Pageable .class , Pageable .class )
52- .replaceWithClass (org .springframework .data .domain .PageRequest .class ,Pageable .class );
54+ .replaceWithClass (org .springframework .data .domain .PageRequest .class , Pageable .class );
5355 }
5456
5557 @ Configuration
5658 @ ConditionalOnClass (RepositoryRestConfiguration .class )
5759 class HalProviderConfiguration {
5860
5961 @ Bean
60- public HalProvider halProvider (RepositoryRestConfiguration repositoryRestConfiguration ) {
61- return new HalProvider (repositoryRestConfiguration );
62+ public HalProvider halProvider (Optional <RepositoryRestConfiguration > repositoryRestConfiguration ) {
63+ if (repositoryRestConfiguration .isPresent ())
64+ return new HalProvider (repositoryRestConfiguration .get ());
65+ return null ;
6266 }
6367
6468 /**
@@ -68,8 +72,8 @@ public HalProvider halProvider(RepositoryRestConfiguration repositoryRestConfigu
6872 * @see org.springframework.hateoas.mediatype.hal.Jackson2HalModule.HalLinkListSerializer#serialize(Links, JsonGenerator, SerializerProvider)
6973 */
7074 @ Bean
71- public OpenApiCustomiser linksSchemaCustomiser (RepositoryRestConfiguration repositoryRestConfiguration ) {
72- if (!repositoryRestConfiguration .useHalAsDefaultJsonMediaType ()) {
75+ public OpenApiCustomiser linksSchemaCustomiser (Optional < RepositoryRestConfiguration > repositoryRestConfiguration ) {
76+ if (!repositoryRestConfiguration .isPresent () || ! repositoryRestConfiguration . get (). useHalAsDefaultJsonMediaType ()) {
7377 return openApi -> {};
7478 }
7579 Json .mapper ().addMixIn (RepresentationModel .class , RepresentationModelLinksOASMixin .class );
0 commit comments