Open sdelamo opened 2 months ago
package mnserdenullable; import com.fasterxml.jackson.annotation.JsonInclude; import io.micronaut.core.annotation.NonNull; import io.micronaut.core.annotation.Nullable; import io.micronaut.serde.annotation.Serdeable; @JsonInclude(JsonInclude.Include.ALWAYS) @Serdeable public record Book(@NonNull String title, @Nullable String author) { }
For an object such as:
new Book("The Hobbit", null);
Renders:
{"title":"The Hobbit","author":null}
@JsonInclude
JsonInclude.Include.ALWAYS is the default value. However, if you use @JsonInclude instead of @JsonInclude(JsonInclude.Include.ALWAYS) it renders {"title":"The Hobbit"}
JsonInclude.Include.ALWAYS
@JsonInclude(JsonInclude.Include.ALWAYS)
{"title":"The Hobbit"}
package mnserdenullable; import com.fasterxml.jackson.annotation.JsonInclude; import io.micronaut.core.annotation.NonNull; import io.micronaut.core.annotation.Nullable; import io.micronaut.serde.annotation.Serdeable; @JsonInclude @Serdeable public record Book(@NonNull String title, @Nullable String author) { }
@JsonInclude(JsonInclude.Include.ALWAYS)
For an object such as:
Renders:
{"title":"The Hobbit","author":null}
@JsonInclude
JsonInclude.Include.ALWAYS
is the default value. However, if you use@JsonInclude
instead of@JsonInclude(JsonInclude.Include.ALWAYS)
it renders{"title":"The Hobbit"}