Adding pagination extension to navigation properties to collection of entities
This commit is contained in:
parent
b8eb57036b
commit
32093e38e4
|
@ -6,6 +6,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Microsoft.OData.Edm;
|
using Microsoft.OData.Edm;
|
||||||
|
using Microsoft.OpenApi.Any;
|
||||||
using Microsoft.OpenApi.Models;
|
using Microsoft.OpenApi.Models;
|
||||||
using Microsoft.OpenApi.OData.Common;
|
using Microsoft.OpenApi.OData.Common;
|
||||||
using Microsoft.OpenApi.OData.Edm;
|
using Microsoft.OpenApi.OData.Edm;
|
||||||
|
@ -45,6 +46,22 @@ namespace Microsoft.OpenApi.OData.Operation
|
||||||
base.SetBasicInfo(operation);
|
base.SetBasicInfo(operation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void SetExtensions(OpenApiOperation operation)
|
||||||
|
{
|
||||||
|
if (!LastSegmentIsKeySegment && NavigationProperty.TargetMultiplicity() == EdmMultiplicity.Many)
|
||||||
|
{
|
||||||
|
OpenApiObject extension = new OpenApiObject
|
||||||
|
{
|
||||||
|
{ "nextLinkName", new OpenApiString("@odata.nextLink")},
|
||||||
|
{ "operationName", new OpenApiString("listMore")}
|
||||||
|
};
|
||||||
|
|
||||||
|
operation.Extensions.Add(Constants.xMsPageable, extension);
|
||||||
|
|
||||||
|
base.SetExtensions(operation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override void SetResponses(OpenApiOperation operation)
|
protected override void SetResponses(OpenApiOperation operation)
|
||||||
{
|
{
|
||||||
|
@ -83,6 +100,13 @@ namespace Microsoft.OpenApi.OData.Operation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@odata.nextLink",
|
||||||
|
new OpenApiSchema
|
||||||
|
{
|
||||||
|
Type = "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue