Spring boot 如何使用restful api的条件修补嵌套对象中列表的属性
我应该如何为补丁操作设计一个Restful API,以支持使用条件更新a列表中的某些属性 假设我有以下json模型:Spring boot 如何使用restful api的条件修补嵌套对象中列表的属性,spring-boot,api,rest,patch,api-design,Spring Boot,Api,Rest,Patch,Api Design,我应该如何为补丁操作设计一个Restful API,以支持使用条件更新a列表中的某些属性 假设我有以下json模型: { "key1": "value", "key2": "value", "list": [ { "property": "someValue", "toBePatched": "value" }, { "property": "otherValue", "toBePatched": "valu
{
"key1": "value",
"key2": "value",
"list": [
{
"property": "someValue",
"toBePatched": "value"
},
{
"property": "otherValue",
"toBePatched": "value"
}
]
}
当“property”等于“someValue”时,我需要修补列表中的“toBePatched”属性。通过查看json补丁,我认为这是一个好方法,但我不认为json指针支持查询?如何定义支持“/list/property=someValue/toBePatch”的路径
一种愚蠢的方法是将其作为查询参数传递给api,并在其周围添加一些逻辑,但我认为这不是一种标准的方法
[
{ "op": "test", "path": "/list/0/property", "value": "someValue"},
{ "op": "test", "path": "/list/0/toBePatched", "value": "value"},
{ "op": "replace", "path": "/list/0/toBePatched", "value": "the-new-value"}
]
这一点很重要,它允许您验证服务器是否没有更改您要更改的文档部分。有关详细信息,请参见第5节。仅供参考,我没有
应用程序/patch+json
的答案,但是如果您发现应用程序/patch+json对于您的用例来说过于复杂,或者无法表达您想要的确切更改,您也可以制作自己的补丁格式。