Allow to suppress null values in serialization

Abierto
#51 3 comentarios 3 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

@Inf1mum ya está trabajando en esto.

Desde el 10/11/2026.

  • #223 de @Inf1mum — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
java
Área
api, backend

Línea de trabajo

Empieza leyendo JsonNullableSerializer y JsonNullableModule para entender cómo se gestiona actualmente suppressNull; después, revisa las pruebas de serialización existentes del repositorio. Define si el cambio debe hacer que el serializador respete la configuración Include.NON_NULL de ObjectMapper o añadir un interruptor a nivel de módulo, y considera el trabajo terminado cuando el comportamiento elegido esté cubierto por pruebas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

In order to minimize my response body size from my REST controllers, I would like to be able to supress all null values when serializing to JSON, however when I changed my ObjectMapper to use Include.NON_NULL by default I found that suppressNull is hard coded to false in JsonNullableSerializer. This results in considerable bloat.

You might wonder why I don't use JsonNullable.undefined() instead. I have an OpenAPI schema with 679 different fields, of which 174 are nullable. Keeping track of which fields are nullable, and changing all of those converter classes to use JsonNullable is quite a lot of work. On top of that, the Java models generated with openapi-generator-maven-plugin do not create fluent setters for JsonNullable.

It would save me a lot of effort if JsonNullableSerializer would just respect suppressNull, is that something you would agree to change?
If not, I could submit a PR to add a setting to JsonNullableModule to toggle whether suppressNull should be respected?

Lenguaje dominante
Java
Estrellas
158
Forks
47
Merge medio
3 d 7 h
PR fusionados (30 d)
5

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenAPITools/jackson-databind-nullable

Todos los issues de OpenAPITools/jackson-databind-nullable

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.