添加 example_dto_bean.md

This commit is contained in:
8ga
2026-07-24 12:06:43 +08:00
parent 66667fb7f2
commit 1176e45274

79
example_dto_bean.md Normal file
View File

@@ -0,0 +1,79 @@
```java
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.Getter;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.math.BigDecimal;
@Data
@Schema(title = "DTO示例")
public class ExampleDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@NotBlank
@Schema(description = "字符串")
private String strField;
@Schema(description = "整数", defaultValue = "0")
private Integer intField;
@Schema(description = "长整数")
@JsonSerialize(using = ToStringSerializer.class)
private Long longField;
@Schema(description = "高精度浮点数")
private BigDecimal decimalField;
@NotNull
@Schema(description = "日期类型", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate dateField;
@NotNull
@Schema(description = "时间类型", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime timeField;
@NotNull
@Schema(
title = "状态",
description = "参考示例值",
example = StateEnum.DESC
)
private StateEnum state;
@Schema(description = "JSON类型")
private JsonField jsonField;
@Data
public static class JsonField implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "示例字段1")
private String field1;
@Schema(description = "示例字段2")
private Integer field2;
}
}
```