Skip to content

Commit 5583e4d

Browse files
authored
Merge pull request #1564 from json-api-dotnet/fix-operations-empty-result
Fixed: return empty object instead of data:null in operation results
2 parents 0941d7c + 81b82ad commit 5583e4d

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

Diff for: src/JsonApiDotNetCore/Serialization/JsonConverters/WriteOnlyDocumentConverter.cs

+22-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,28 @@ public override void Write(Utf8JsonWriter writer, Document value, JsonSerializer
6161
if (!value.Results.IsNullOrEmpty())
6262
{
6363
writer.WritePropertyName(AtomicResultsText);
64-
WriteSubTree(writer, value.Results, options);
64+
writer.WriteStartArray();
65+
66+
foreach (AtomicResultObject result in value.Results)
67+
{
68+
writer.WriteStartObject();
69+
70+
if (result.Data.IsAssigned)
71+
{
72+
writer.WritePropertyName(DataText);
73+
WriteSubTree(writer, result.Data, options);
74+
}
75+
76+
if (!result.Meta.IsNullOrEmpty())
77+
{
78+
writer.WritePropertyName(MetaText);
79+
WriteSubTree(writer, result.Meta, options);
80+
}
81+
82+
writer.WriteEndObject();
83+
}
84+
85+
writer.WriteEndArray();
6586
}
6687

6788
if (!value.Errors.IsNullOrEmpty())

Diff for: test/JsonApiDotNetCoreTests/IntegrationTests/AtomicOperations/Mixed/AtomicSerializationTests.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,7 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
101101
"self": "http://localhost/operations"
102102
},
103103
"atomic:results": [
104-
{
105-
"data": null
106-
},
104+
{},
107105
{
108106
"data": {
109107
"type": "textLanguages",

0 commit comments

Comments
 (0)