quarkus: RESTEASY008200: JSON Binding deserialization error: No default constructor
Describe the bug I get the error described in https://github.com/quarkusio/quarkus/issues/3179. The issue was closed as it should be resolved with quarkus 1.0 Final and its dependency yasson 1.0.5. But error is still there. I cannot add a no args constructor because the class is defined within an external dependency (library).
javax.ws.rs.ProcessingException: RESTEASY008200:
JSON Binding deserialization error: javax.json.bind.JsonbException: Can't create instance of a class: class com.domain.Task, No default constructor found.
at org.jboss.resteasy.plugins.providers.jsonb.JsonBindingProvider.readFrom(JsonBindingProvider.java:78)
at org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:102)
at org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:81)
at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:226)
at org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:88)
at org.jboss.resteasy.specimpl.AbstractBuiltResponse.readEntity(AbstractBuiltResponse.java:270)
...
Caused by: javax.json.bind.JsonbException: Can't create instance of a class: class com.domain.Task, No default constructor found.
at org.eclipse.yasson.internal.serializer.ObjectDeserializer.getInstance(ObjectDeserializer.java:95)
at org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer.deserialize(AbstractContainerDeserializer.java:61)
at org.eclipse.yasson.internal.serializer.CollectionDeserializer.deserializeNext(CollectionDeserializer.java:106)
at org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer.deserializeInternal(AbstractContainerDeserializer.java:84)
at org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer.deserialize(AbstractContainerDeserializer.java:60)
at org.eclipse.yasson.internal.Unmarshaller.deserializeItem(Unmarshaller.java:68)
at org.eclipse.yasson.internal.Unmarshaller.deserialize(Unmarshaller.java:54)
at org.eclipse.yasson.internal.JsonBinding.deserialize(JsonBinding.java:53)
at org.eclipse.yasson.internal.JsonBinding.fromJson(JsonBinding.java:93)
at org.jboss.resteasy.plugins.providers.jsonb.JsonBindingProvider.readFrom(JsonBindingProvider.java:70)
... 48 more
There must be a bug somewhere in Yasson, RESTEasy or Quarkus. The method execution works in wildfly but not in quarkus. Maybe yasson or something else cannot add a default constructor in quarkus at runtime if one is missing (by reflection).
Environment (please complete the following information):
- Output of
java -version: 12 - Quarkus version or git rev: 1.0 Final
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 16 (8 by maintainers)
Can you please try using the
resteasy-jacksondependency instead ofresteasy-jsonb?The json annotations that you are using seem to be Jackson annotations, not JSON-B annotations.