Unable to serialize complex (custom) extension in the expected json format
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza en core/src/main/java/io/cloudevents/core/impl/BaseCloudEvent.java alrededor de la línea 84, donde se leen los valores de las extensiones durante la serialización. Reproduce el problema con la extensión Recipient personalizada y las sobrecargas de withExtension mostradas en el informe, y después compara la salida serializada con el JSON recipient anidado esperado. Se considera terminado cuando los objetos de extensiones personalizadas se serializan sin JsonMappingException y no se emiten como cadenas JSON escapadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
creating a custom extension object implementing CloudEventExtension, when using the extension (customExt) as below, and then serializing the CloudEvent, the serialization for the CloudEvent is failing with JsonMappingException.
CloudEventBuilder.v1()
.withSource(URI.create(source))
.withType(event_type)
.withTime(event_time)
.withId(event.getEventId())
.withDataContentType(contentType)
.withData(eventPayaload)
.withDataSchema(URI.create(XDM_SCHEMA_URI))
.withExtension(DATA_SCHEMA_VERSION_KEY_EXTENSION_NAME, schemaVerExt)
.withExtension(X_ACTION_ID_KEY_EXTENSION_NAME, requestIdExt)
.withExtension(customExt);
here is how the extension looks like. The customExt is the Recipient object
Also, if using the other supported methods withExtension (with key, value) as below, I had to send the string version of the customExt, and then if serialized the output is not in the expected format (see below). It can break our customers event
integrations. Kindly suggest.
expected serialized CloudEvent custom extension
"recipient":{"userid":"9CE048DB5E8F485XXXXXXXXX@AdobeOrg"}
actual serialized CloudEvent custom extension
"recipient":"{\"userid\":\"9CE048DB5E8F485XXXXXXXXX@AdobeOrg\"}"
The serialization is failing while reading extensions here, as I believe the Object type value is not supported.
- Lenguaje dominante
- Java
- Estrellas
- 446
- Forks
- 172
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cloudevents/sdk-java
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cloudevents/sdk-java#731 · 1 reacción ·
-
bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
cloudevents/sdk-java#697 · 3 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cloudevents/sdk-java#689 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
cloudevents/sdk-java#660 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
cloudevents/sdk-java#748 ·
Todos los issues de cloudevents/sdk-java
Issues similares
-
Update license yearAbierto0 - Backlog 1 - Ready documentation good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
cbor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
FasterXML/jackson-dataformats-binary#844 ·
Los mantenedores suelen responder en 1 día
-
improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/iceberg#18351 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
repowise-dev/repowise#2945 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Interpolating settings.xml can lead to malformed XML when variable value contains double-hyphenAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/maven#13321 · 1 comentario ·
Los mantenedores suelen responder en 1 día