Search code examples
gson

GSON DTO Serialize Is Empty


    @Bean
    public GsonBuilder gsonBuilder(List <GsonBuilderCustomizer> customizers) {
        GsonBuilder builder = new GsonBuilder();
        customizers.forEach((c) -> c.customize(builder));
        builder
                .serializeNulls()
                .excludeFieldsWithoutExposeAnnotation()
                .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);

}
@AllArgsConstructor
@Getter
@Setter
@NoArgsConstructor
public class ModelStepInfo {

    public boolean isSuccessed;
    public String description;
    public LocalDateTime startTime;
    public LocalDateTime endTime;
}
gson.toJson(new ModelStepInfo(false, "dasdsada", LocalDateTime.now(), LocalDateTime.now()))

print: {} version: 2.10.1 Why does it come out as empty? Any solution? I don't know what's wrong.


Solution

  • The problem is likely that you are using excludeFieldsWithoutExposeAnnotation(), but none of your fields have the @Expose annotation, so all of them are ignored.