gpt4 book ai didi

java - Spring Data Rest json-patch+json 对索引大于 9 的集合项

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:45 26 4
gpt4 key购买 nike

实体 Parent 有一个 Item 对象的集合。

每当我尝试运行包含针对索引大于 9 的集合项的操作的 json-patch+json 请求时,Spring 都会引发以下异常:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property 10 found for type Item! Traversed path: Parent.collection.

网址为“/Parent/1”请求正文:

[
{
"op":"replace",
"path":"/collection/10/property",
"value":"100"
}
]

索引小于 10 的完全相同的请求可以正常工作:

[
{
"op":"replace",
"path":"/collection/9/property",
"value":"100"
}
]

这是 Spring 数据休息错误吗?

最佳答案

There was an issue在 Spring Data Rest 项目中 has recently been fixed (2018 年 8 月 8 日)在以下版本中:

org.springframework.data:spring-data-rest-webmvc:jar:3.1.0.RC2 org.springframework.data:spring-data-rest-webmvc:jar:2.6.15.RELEASE org.springframework.data:spring-data-rest-webmvc:jar:3.0.10.RELEASE

如果您使用 Spring Boot 2.1.x,您可以更新 spring-data-rest-webmvc 工件版本。最简单的方法是在 pom 中将 spring-data-releasetrain.version 属性设置为 Lovelace-RC2:

<spring-data-releasetrain.version>Lovelace-RC2</spring-data-releasetrain.version>

如果您使用 Spring Boot 2.0.x:

<spring-data-releasetrain.version>Kay-SR10</spring-data-releasetrain.version>

如果您使用 Spring Boot 1.5.x:

<spring-data-releasetrain.version>Ingalls-SR15</spring-data-releasetrain.version>

作为替代方案,您可以将 Spring Boot 版本本身更新为已使用相应 Spring Data Rest 版本的版本:

org.springframework.boot:spring-boot-starter-parent:2.1.0.M2 (Lovelace-RC2)

org.springframework.boot:spring-boot-starter-parent:2.0.5.RELEASE (Kay-SR10)

org.springframework.boot:spring-boot-starter-parent:1.5.16.RELEASE (Ingalls-SR15)

关于java - Spring Data Rest json-patch+json 对索引大于 9 的集合项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51987606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com