问题标签 [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.
c# - JSON 补丁验证 .Net Core
有没有人找到一种使用数据注释来防止特定属性在 json 补丁文档中更新的好方法。
模型:
逻辑:
逻辑代码只是一个示例,说明来自客户端的补丁文档看起来像什么,只是为了快速测试目的而在 C# 中生成
json - Java 中的 JSON 补丁请求验证
在我的 Spring Boot 服务中,我使用https://github.com/java-json-tools/json-patch来处理 PATCH 请求。
除了避免修改对象 id、creation_time 等不可变字段的方法外,一切似乎都很好。我在 Github https://github.com/java-json-tools/json-patch/issues/21上发现了一个类似的问题我找不到正确的例子。
这个博客似乎提供了一些关于使用 node.js 中的解决方案验证 JSON 补丁请求的有趣解决方案。很高兴知道 JAVA 中是否已经存在类似的东西。
c# - JsonPatch 添加到数组时出错
我在 .NET Web API 项目中使用 KevinDockx-Jsonpatch 库(v2.1.0 - GitHub)从 Web API 接收 jsonpatch 部分更新。
我正在尝试使用这样的补丁将元素添加到数组中:
不幸的是,我收到了这个错误:TargetLocationAtPathSegmentNotFound
似乎 lib 不是检查数组位置,而是检查名为 links/4 的路径,显然它无法找到它。我也尝试过使用链接/- 但也有同样的问题。
我在服务器上的模型是使用实体框架代码优先方法编写的。
所以我有一个这样的对象:
对此有何建议?
neo4j - 如何通过 neo4j 或 apoc 应用通用 json-patch 操作
是否有一种奇特或棘手的方法可以将任意 jsonpatch 数组应用于带有密码甚至 apoc 的地图?
所以如果我有
- 一张地图
{a: 0, b: 0, c: 0}
- 一组编码在地图中的操作,比如说
[{replace: "a", value: 1}, {replace: "b", value: 1}]
。我知道这不是中继 jsonpatch,但这就是我所需要的。如果有一个成熟的 jsonpatch 解决方案,那就更好了。
我在密码中寻找一个程序、程序的串联或一种简洁的方式来产生{a: 1, b: 1, c: 0}
在https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_map_functions中可以apoc.map.setKey(map, key, value)
找到,但它一次只能操作一个值。我尝试将它与密码结合起来,但我确实需要改变地图而不是节点。FOREACH
我的尝试是
当然,我总是可以让客户端执行 jsonpatch 操作,但我更喜欢在 tx.xml 中执行此操作的方法。我知道我也可以自己编写一个程序作为最后的手段。
c# - asp.net - 如何获取/反序列化 JsonPatchDocument 的对象?
我可以JsonPatchDocument
使用 序列化模型JsonConvert.SerializeObject()
,但结果类型是字符串,如何将其转换为普通数组类型?或者如何将JsonPatchDocument
对象直接放入数组?
yaml - 替换 openshift scc 受限 yaml 中的参数
目前在我的 openshift 环境中,我必须使用命令手动去编辑我的 scc 受限 yaml 文件oc edit scc restricted
。在这个文件中,我更新了两个参数:
allowHostDirVolumePlugin: false
TO allowHostDirVolumePlugin: true
和
runAsUser:
type: MustRunAsRange
TO
runAsUser:
type: RunAsAny
我希望能够在不实际编辑它们的情况下更新这些值。我已经尝试过这里提到的 json 补丁方法,但在那个例子中,我可以添加。我正在尝试使用类似的东西,
oc patch scc restricted --type=json -p '[{"op": "replace", "path": "/allowHostDirVolumePlugin", "value":"true"}]'
但它不断给出错误Error from server: [pos 29]: json: decode bool: got first char "
有没有办法在不编辑 yml 文件的情况下实现这一点?
java - 索引大于 9 的集合项上的 Spring Data Rest json-patch+json
实体 Parent 有一个 Item 对象的集合。
每当我尝试运行包含针对索引大于 9 的集合项的操作的 json-patch+json 请求时,Spring 都会引发以下异常:
原因:org.springframework.data.mapping.PropertyReferenceException:找不到类型项目的属性 10!遍历路径:Parent.collection。
URL 是"/Parent/1"
请求正文:
索引小于 10 的完全相同的请求可以正常工作:
它是弹簧数据休息错误吗?
json - 是否可以通过 JsonPatchDocument 更新嵌套在数组中的对象?
我正在使用 Microsoft.AspNetCore.JsonPatch V2.1.1。
我有一个这样的对象结构:
现在我想更新数组内嵌套对象中的键:
但我得到了这个例外:
JsonPatchException:找不到路径段“0”指定的目标位置。
我是否必须使用自己的 PATCH 方法为内部对象显式创建一个端点?
c# - ASP.NET Core 中的 SnakeCaseNamingStrategy 和 JsonPatch
使用 ApsNetCore.JsonPatch (2.1.1) 包时,有没有办法注册/使用“全局”ContractResolver?
我遇到了路径未解析的问题,因为我的模型中的属性在 PascalCase 中,但 JsonPatch 中的路径在 SnakeCase 中。
在这种情况下,我必须将 JsonPatchDocument 上的 ContractResolver 设置为 Startup.cs 文件中的默认/全局注册的 ContractResolver。
它有效,但我必须为我要实施的每个补丁路由都这样做。
启动配置:
控制器: