18
18
19
19
package org .springdoc .core ;
20
20
21
+ import java .util .Optional ;
22
+
21
23
import com .fasterxml .jackson .core .JsonGenerator ;
22
24
import com .fasterxml .jackson .databind .SerializerProvider ;
23
25
import io .swagger .v3 .core .converter .AnnotatedType ;
@@ -49,16 +51,18 @@ public class SpringDocDataRestConfiguration {
49
51
50
52
static {
51
53
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 );
53
55
}
54
56
55
57
@ Configuration
56
58
@ ConditionalOnClass (RepositoryRestConfiguration .class )
57
59
class HalProviderConfiguration {
58
60
59
61
@ 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 ;
62
66
}
63
67
64
68
/**
@@ -68,8 +72,8 @@ public HalProvider halProvider(RepositoryRestConfiguration repositoryRestConfigu
68
72
* @see org.springframework.hateoas.mediatype.hal.Jackson2HalModule.HalLinkListSerializer#serialize(Links, JsonGenerator, SerializerProvider)
69
73
*/
70
74
@ 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 ()) {
73
77
return openApi -> {};
74
78
}
75
79
Json .mapper ().addMixIn (RepresentationModel .class , RepresentationModelLinksOASMixin .class );
0 commit comments