【发布时间】:2018-08-23 13:58:53
【问题描述】:
实体 Parent 有一个 Item 对象的集合。
每当我尝试运行包含针对索引大于 9 的集合项的操作的 json-patch+json 请求时,Spring 都会引发以下异常:
原因:org.springframework.data.mapping.PropertyReferenceException:找不到类型项目的属性 10!遍历路径:Parent.collection。
网址是"/Parent/1"
请求正文:
[
{
"op":"replace",
"path":"/collection/10/property",
"value":"100"
}
]
索引小于 10 的完全相同的请求可以正常工作:
[
{
"op":"replace",
"path":"/collection/9/property",
"value":"100"
}
]
是spring data rest的bug吗?
【问题讨论】:
-
您能否提供带有项目集合的父实体的特定 json 示例?您确定集合包含超过 10 个元素吗?
-
是的,绝对确定
-
@N.Metlitski,您的第一项应引用为“路径”:“/collection/0/property”,第二项应引用为“路径”:“/collection/1/property”,第 10 项作为“路径”:“/collection/9/property”。没有第 11 个元素可以被“path”引用:“/collection/10/property”,这就是你的例外
-
我不会提供任何示例 - 问题描述得足够清楚。并且下面有一个正确答案。
标签: java spring-data-rest json-patch