2

有人知道如何使用 asp.net 核心 json 补丁更新项目的嵌套元素吗?

我尝试使用 xx.Operations.Add(new Operation<DataRequestModel>("Replace", $"schedules/{scheduleId}/status", null, DataRequestStatusEnum.ExtractionFailed));

The path segment '43688769-f45e-4e84-a8d6-f071c077b9ad' is invalid for an array index.但是当我model.ApplyTo(dataRequest);在补丁操作中使用它时会引发异常。

谢谢你的帮助。

4

1 回答 1

0

我通过使用

控制器

    [Route("{some}/adress")]
    [HttpPatch]
    public bool YourDtoUpdate(long some, [FromBody]JsonPatchDocument<TestpDTO> testChanges)
    {
        var tsd = new TestDTO(){Nested = new NestedClass()};
        testChanges.ApplyTo(tsd);
    }

服务

    var model = new TestDTO() { Foo = "abc", Nested = new NestedClass()};
    JsonPatchDocument<TesDTO> patchDoc = new JsonPatchDocument<TestDTO>();
    patchDoc.Replace(e => e.Foo , model.Foo );
    patchDoc.Replace(e => e.Nested.Bar, model.Nested.Bar);
于 2018-08-22T13:13:49.277 回答