@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.
The problem is likely that you are using excludeFieldsWithoutExposeAnnotation()
, but none of your fields have the @Expose
annotation, so all of them are ignored.