6
6
using JsonApiDotNetCore . Queries ;
7
7
using JsonApiDotNetCore . Queries . Expressions ;
8
8
using JsonApiDotNetCore . Queries . Internal ;
9
+ using JsonApiDotNetCore . QueryStrings ;
9
10
using JsonApiDotNetCore . Resources ;
10
11
using JsonApiDotNetCore . Resources . Annotations ;
11
12
using JsonApiDotNetCore . Serialization ;
@@ -56,7 +57,7 @@ protected ResponseSerializer<T> GetResponseSerializer<T>(IEnumerable<IEnumerable
56
57
IMetaBuilder meta = GetMetaBuilder ( metaDict ) ;
57
58
ILinkBuilder link = GetLinkBuilder ( topLinks , resourceLinks , relationshipLinks ) ;
58
59
IEnumerable < IQueryConstraintProvider > includeConstraints = GetIncludeConstraints ( inclusionChainArray ) ;
59
- IIncludedResourceObjectBuilder includedBuilder = GetIncludedBuilder ( ) ;
60
+ IIncludedResourceObjectBuilder includedBuilder = GetIncludedBuilder ( inclusionChainArray != null ) ;
60
61
IFieldsToSerialize fieldsToSerialize = GetSerializableFields ( ) ;
61
62
IResourceDefinitionAccessor resourceDefinitionAccessor = GetResourceDefinitionAccessor ( ) ;
62
63
IResourceObjectBuilderSettingsProvider settingsProvider = GetSerializerSettingsProvider ( ) ;
@@ -77,17 +78,23 @@ protected ResponseResourceObjectBuilder GetResponseResourceObjectBuilder(IEnumer
77
78
78
79
ILinkBuilder link = GetLinkBuilder ( null , resourceLinks , relationshipLinks ) ;
79
80
IEnumerable < IQueryConstraintProvider > includeConstraints = GetIncludeConstraints ( inclusionChainArray ) ;
80
- IIncludedResourceObjectBuilder includedBuilder = GetIncludedBuilder ( ) ;
81
+ IIncludedResourceObjectBuilder includedBuilder = GetIncludedBuilder ( inclusionChains != null ) ;
81
82
IEvaluatedIncludeCache evaluatedIncludeCache = GetEvaluatedIncludeCache ( inclusionChainArray ) ;
82
83
83
84
return new ResponseResourceObjectBuilder ( link , includedBuilder , includeConstraints , ResourceGraph , GetResourceDefinitionAccessor ( ) ,
84
85
GetSerializerSettingsProvider ( ) , evaluatedIncludeCache ) ;
85
86
}
86
87
87
- private IIncludedResourceObjectBuilder GetIncludedBuilder ( )
88
+ private IIncludedResourceObjectBuilder GetIncludedBuilder ( bool hasIncludeQueryString )
88
89
{
89
- return new IncludedResourceObjectBuilder ( GetSerializableFields ( ) , GetLinkBuilder ( ) , ResourceGraph , Enumerable . Empty < IQueryConstraintProvider > ( ) ,
90
- GetResourceDefinitionAccessor ( ) , GetSerializerSettingsProvider ( ) ) ;
90
+ IFieldsToSerialize fieldsToSerialize = GetSerializableFields ( ) ;
91
+ ILinkBuilder linkBuilder = GetLinkBuilder ( ) ;
92
+ IResourceDefinitionAccessor resourceDefinitionAccessor = GetResourceDefinitionAccessor ( ) ;
93
+ IRequestQueryStringAccessor queryStringAccessor = new FakeRequestQueryStringAccessor ( hasIncludeQueryString ? "include=" : null ) ;
94
+ IResourceObjectBuilderSettingsProvider resourceObjectBuilderSettingsProvider = GetSerializerSettingsProvider ( ) ;
95
+
96
+ return new IncludedResourceObjectBuilder ( fieldsToSerialize , linkBuilder , ResourceGraph , Enumerable . Empty < IQueryConstraintProvider > ( ) ,
97
+ resourceDefinitionAccessor , queryStringAccessor , resourceObjectBuilderSettingsProvider ) ;
91
98
}
92
99
93
100
protected IResourceObjectBuilderSettingsProvider GetSerializerSettingsProvider ( )
0 commit comments