Skip to content

Commit b378569

Browse files
Fix response schemas of actions and functions that return a collection to contain the nextLink property.
1 parent 43ad8f9 commit b378569

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Microsoft.OpenApi.OData.Reader/Operation/EdmActionOperationHandler.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ protected override void SetRequestBody(OpenApiOperation operation)
3535
protected override void SetExtensions(OpenApiOperation operation)
3636
{
3737
operation.Extensions.Add(Constants.xMsDosOperationType, new OpenApiString("action"));
38+
if (Context.Settings.EnablePagination && EdmOperation.ReturnType?.TypeKind() == EdmTypeKind.Collection)
39+
{
40+
OpenApiObject extension = new OpenApiObject
41+
{
42+
{ "nextLinkName", new OpenApiString("@odata.nextLink")},
43+
{ "operationName", new OpenApiString(Context.Settings.PageableOperationName)}
44+
};
45+
46+
operation.Extensions.Add(Constants.xMsPageable, extension);
47+
}
3848
base.SetExtensions(operation);
3949
}
4050
}

src/Microsoft.OpenApi.OData.Reader/Operation/EdmFunctionOperationHandler.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ internal class EdmFunctionOperationHandler : EdmOperationOperationHandler
2727
protected override void SetExtensions(OpenApiOperation operation)
2828
{
2929
operation.Extensions.Add(Constants.xMsDosOperationType, new OpenApiString("function"));
30+
if (Context.Settings.EnablePagination && EdmOperation.ReturnType?.TypeKind() == EdmTypeKind.Collection)
31+
{
32+
OpenApiObject extension = new OpenApiObject
33+
{
34+
{ "nextLinkName", new OpenApiString("@odata.nextLink")},
35+
{ "operationName", new OpenApiString(Context.Settings.PageableOperationName)}
36+
};
37+
38+
operation.Extensions.Add(Constants.xMsPageable, extension);
39+
}
3040
base.SetExtensions(operation);
3141
}
3242
}

0 commit comments

Comments
 (0)