Open Policy Agent(OPA)数据PATCH更新报错及操作方法问询
OPA数据更新正确操作指南
你的错误源于使用了错误的PATCH请求格式——OPA的/v1/data端点的PATCH请求要求遵循**JSON Patch(RFC 6902)**规范,而非直接传递替换的JSON对象。以下是你需要的两个操作的具体实现方式:
1. 向admin/user数组添加新权限项
使用JSON Patch的add操作,目标路径指向数组末尾(用/-表示数组最后一个元素之后的位置)。
示例:给admin数组添加新权限项
请求URL:PATCH http://localhost:8181/v1/data/user
请求体:
[ { "op": "add", "path": "/admin/-", "value": { "action": "delete", "object": "order" } } ]
示例:给user数组添加新权限项
请求体替换为:
[ { "op": "add", "path": "/user/-", "value": { "action": "update", "object": "profile" } } ]
2. 更新user[0].action的值
使用JSON Patch的replace操作,直接指定要修改的字段路径。
请求URL:PATCH http://localhost:8181/v1/data/user
请求体:
[ { "op": "replace", "path": "/user/0/action", "value": "update" } ]
额外说明
- JSON Patch操作是一个数组,你可以在一个请求中包含多个操作(比如同时添加新项+修改字段)
- 路径语法遵循RFC 6902规范:用
/分隔层级,数组索引从0开始,/-表示数组末尾追加
内容的提问来源于stack exchange,提问作者Narayan bhat
相关产品推荐
相关产品推荐

