Spring Data Rest json-patch + json on index item,索引大于9

问题描述 投票:1回答:1

实体Parent具有Item对象的集合。

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

引起:org.springframework.data.mapping.PropertyReferenceException:找不到类型Item的属性10!遍历路径:Parent.collection。

URL是"/Parent/1"请求正文:

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

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

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

它是一个弹簧数据休息bug吗?

java spring-data-rest json-patch
1个回答
0
投票

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)

© www.soinside.com 2019 - 2024. All rights reserved.