问题标签 [json-patch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2933 浏览

c# - 如何将 ModelState 与 JsonPatchDocument.Applyto 一起使用

我在 Microsoft 文档和他们调用 JsonPatchDocument.ApplyTo(patchObject, ModelState) 的许多示例中看​​到,但我似乎无法让它以这种方式构建。我收到一个构建错误,提示“错误 CS1503 参数 2:无法从 'System.Web.Http.ModelBinding.ModelStateDictionary' 转换为 'System.Action'”

我引用的是 Microsoft.AspNetCore.JsonPatch v2.2.0,示例代码来自这里:

https://docs.microsoft.com/en-us/aspnet/core/web-api/jsonpatch?view=aspnetcore-2.2

0 投票
1 回答
818 浏览

java - 如何仅更新可能已经为空的某些字段(使用 JSON 补丁)

我正在尝试使用 json 补丁来更新PATCH在我的应用程序中使用的对象。

我只想更新对象中的 2 个字段,它们可能null在更新之前。

每次我尝试更新时,整个对象都会更新。

我该如何限制这个?

我尝试了多种方法。

杰克逊配置:

如何仅更新这些字段?

0 投票
1 回答
205 浏览

.net - JsonPatchDocument 可以使用 Attributes

我可以在我的对象上使用属性并仍然使用 JsonPatchDocument 吗?

目前,如果我有这个对象:

我只能在后请求和补丁请求中发送浮点数。

如果我添加一个属性:

我现在可以在后请求中仅发送 1 到 100 之间的浮点数。尽管在补丁中,即使我使用 FloatTest = 1000 进行补丁,ModelState 仍然有效。

无论如何要在 JasonPatchDocument 的 ApplyTo 函数中检查这一点,还是我错过了任何其他最佳实践?

0 投票
2 回答
1729 浏览

asp.net-core - JsonPatchDocument is null after migration to .Net Core 3

I have a AspNetCore-WebApi-Project with several patch-operations, which worked fine with Core 2.2. After migration to Core 3 the [FromBody] JsonPatchDocument<T> is null. My Get/Post-Methods are still functioning as expected.

This is one part of my Startup:

This is my Action:

This is the body-content:

Does anyone have an idea what is goung wrong here?

0 投票
0 回答
140 浏览

json - 基于两个 JSONSchema 为实例数据生成 JSONPatch

我搜索了一个允许从两个JSONSchema生成JSONPatch的工具。例子:

JSONSchema A:

JSON对象可以在哪里:

JSONSchema B(无年龄):

生成的 JSONPatch 应该是:

要在应用补丁后获取,对象:

有一些工具吗?

注意:我可以找到一些类似这样这样的工具,但这些工具会从对象而不是 JSONSchemas 生成 JSONPatch。

0 投票
1 回答
417 浏览

java - 有没有办法在 Wildfly 中禁用自动 JSON PATCH 应用程序

在 Wildfly 上使用HTTP-PATCHJAX-RS 中的资源时(使用 14 和 18 测试),会发生一些自动魔术,使用 调用相同的资源路径GET,应用来自 JSON-PATCH 的更改并使用结果调用实际方法。

有没有办法禁用这种行为(使#patchManual工作)?

重现问题的代码:

0 投票
0 回答
347 浏览

c# - 获取没有旧值的 jsondiffpatch

我使用jsondiffpatch.net创建一个补丁来跟踪两个 json 对象之间的差异。我不需要使用在生成的补丁中使用“oldValue”的反向和取消补丁方法。

有没有办法在生成的补丁中只显示新值?

0 投票
2 回答
383 浏览

java - 为什么日期转换在 Spring 中对内容类型为 json-patch 的请求不起作用?

当我使用 json-patch 时,我收到“无法从类型 [java.lang.String] 转换为类型 [@javax.persistence.Column java.util.Date] for value '1999-12-20' ”,但是使用 json-merge-patch 进行 PUT、POST 或事件 PATCH 请求时,我没有收到此错误;

我正在使用带有 Spring Data Rest 的 Spring Boot 版本 2.1.8。

我有一个实体,其字段类似于以下(只有变量和列的名称不同):

当我向正文发出 JSON 合并补丁请求时,该字段按预期更新:

它还使用 POST 和 PUT 请求正确更新。

但是,如果我使用以下命令(和 Content-Type application/json-patch+json)发出 json-patch:

我收到上面提到的错误。

我实际上不需要解决方法,因为我为此使用了 JSON Merge Patch。

我想了解如何使适用于其他请求的转换也适用于 json-patch。

0 投票
2 回答
771 浏览

rest - 如何使用 JSON Patch 增加价值?

我们需要通过 REST API 更新计数器,并且我们使用 JSON Patch 进行 PATCH 调用,所以它应该是这样的:

{"op":"increment", "path":"/counter", "value": 1 }

问题是 JSON Patch 不支持这种类型的操作。ADD 操作应该只适用于数组,因此最接近的解决方案是使用 REPLACE 操作来替换计数器值,但是如果多个客户端同时尝试更新计数器,则可能会导致问题。

那么我们应该如何解决这个问题,添加一个像 increment 这样的自定义操作会有多大的错误呢?

0 投票
1 回答
1529 浏览

arrays - 在单个 JSON Patch 操作中向数组添加多个值?

我有一个像这样的 json 对象:

如果我想将多个项目添加到内容数组(顺序无关紧要),我可以使用带有单行/操作的 json 补丁添加到它吗?

或者我是否必须为每个要添加的对象添加一行?

编辑:要清楚我想追加,而不是替换内容。