Entity with Jackson Builder throws exception when updated with Repository through HTTP PATCH
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 42/100
Direzione di ricerca
Inizia dalla documentazione di data-rest e dagli entry point per la gestione di PATCH indicati nello stack trace, in particolare DomainObjectReader e JsonPatchHandler. Conferma come si comporta la deserializzazione di Jackson basata su builder quando aggiorna un'entità esistente, quindi documenta la limitazione e il suo effetto sulle richieste HTTP PATCH.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
An Entity that uses a builder to be deserialized with Jackson will cause an exception during PATCH requests. The builder-based deserializer does not support updates. I'm not sure there is a way to resolve this, but it would be nice if this is mentioned in the data-rest documentation.
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Deserialization of [simple type, class media.tiger.account.account.Account] by passing existing instance (of media.tiger.account.account.Account) not supported
at [Source: UNKNOWN; byte offset: #UNKNOWN]
Stacktrace
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Deserialization of [simple type, class media.tiger.account.account.Account] by passing existing instance (of media.tiger.account.account.Account) not supported
at [Source: UNKNOWN; byte offset: #UNKNOWN]
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904)
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:266)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:325)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2051)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1670)
at org.springframework.data.rest.webmvc.json.DomainObjectReader.doMerge(DomainObjectReader.java:303)
at org.springframework.data.rest.webmvc.json.DomainObjectReader.read(DomainObjectReader.java:95)
at org.springframework.data.rest.webmvc.config.JsonPatchHandler.applyMergePatch(JsonPatchHandler.java:98)
at org.springframework.data.rest.webmvc.config.JsonPatchHandler.apply(JsonPatchHandler.java:84)
at org.springframework.data.rest.webmvc.config.PersistentEntityResourceHandlerMethodArgumentResolver.readPatch(PersistentEntityResourceHandlerMethodArgumentResolver.java:214)
at org.springframework.data.rest.webmvc.config.PersistentEntityResourceHandlerMethodArgumentResolver.lambda$read$4(PersistentEntityResourceHandlerMethodArgumentResolver.java:193)
at java.base/java.util.Optional.map(Optional.java:260)
at org.springframework.data.rest.webmvc.config.PersistentEntityResourceHandlerMethodArgumentResolver.read(PersistentEntityResourceHandlerMethodArgumentResolver.java:190)
at org.springframework.data.rest.webmvc.config.PersistentEntityResourceHandlerMethodArgumentResolver.resolveArgument(PersistentEntityResourceHandlerMethodArgumentResolver.java:133)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:146)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:880)
at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
- Lingua principale
- Java
- Stelle
- 957
- Fork
- 570
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di spring-projects/spring-data-rest
-
Release 5.0.9 (2025.1.9)Apertatype: task
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
spring-projects/spring-data-rest#2624 ·
-
Release 5.1.3 (2026.0.3)Apertatype: task
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
spring-projects/spring-data-rest#2623 ·
-
Release 5.2.0 (2026.1.0)Apertatype: task
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
spring-projects/spring-data-rest#2622 ·
-
Merge patch drops linkable associations of existing array elements since 4.3Forse già presa @odrotbohm l’ha presa 35 giorni fa. Apertastatus: feedback-provided status: waiting-for-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
spring-projects/spring-data-rest#2596 · 3 commenti · 1 assegnatario ·
-
Querydsl filtering silently ignores nested property paths since GH-2572Forse già presa @odrotbohm l’ha presa 35 giorni fa. Apertatype: regression
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
spring-projects/spring-data-rest#2579 · 1 reazione · 1 assegnatario ·
Tutte le issue di spring-projects/spring-data-rest
Issue simili
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 70/100
Vakore/ZappierGames#248 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
thelastpickle/cassandra-reaper#1748 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 3 giorni
-
A proxy that fails to start logs a RejectedExecutionException stack trace from its shutdown hookApertafollow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Sanne/incus-spawn#1953 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
OneBusAway/maglev#1917 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni