💥 swagger2 迁移到 openApi3
This commit is contained in:
@@ -43,7 +43,7 @@
|
||||
<artifactId>jakarta.validation-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.hccake.ballcat.common.i18n;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
@@ -12,28 +11,28 @@ import javax.validation.constraints.NotEmpty;
|
||||
* @author hccake
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("国际化信息")
|
||||
@Schema(title = "国际化信息")
|
||||
public class I18nMessage {
|
||||
|
||||
/**
|
||||
* 国际化标识
|
||||
*/
|
||||
@NotEmpty(message = "{i18nMessage.code}:{}")
|
||||
@ApiModelProperty(value = "国际化标识")
|
||||
@Schema(title = "国际化标识")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 消息
|
||||
*/
|
||||
@NotEmpty(message = "{i18nMessage.message}:{}")
|
||||
@ApiModelProperty(value = "文本值,可以使用 { } 加角标,作为占位符")
|
||||
@Schema(title = "文本值,可以使用 { } 加角标,作为占位符")
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 地区语言标签
|
||||
*/
|
||||
@NotEmpty(message = "{i18nMessage.languageTag}:{}")
|
||||
@ApiModelProperty(value = "语言标签")
|
||||
@Schema(title = "语言标签")
|
||||
private String languageTag;
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<artifactId>ballcat-common-i18n</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<groupId>io.swagger.core.v3</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -32,6 +32,11 @@
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-annotation</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-common</artifactId>
|
||||
<version>1.5.13</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -1,14 +1,15 @@
|
||||
package com.hccake.ballcat.common.model.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,43 +20,33 @@ import java.util.List;
|
||||
* @version 1.0
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("分页查询参数")
|
||||
@Schema(title = "分页查询参数")
|
||||
public class PageParam {
|
||||
|
||||
/**
|
||||
* 当前页
|
||||
*/
|
||||
@ApiModelProperty(value = "当前页码,从 1 开始", required = true, example = "1")
|
||||
@Schema(title = "当前页码", description = "从 1 开始", defaultValue = "1", example = "1")
|
||||
@NotNull(message = "当前页码不能为空")
|
||||
@Min(value = 1, message = "当前页不能小于 1")
|
||||
private long current = 1;
|
||||
|
||||
/**
|
||||
* 每页显示条数,默认 10
|
||||
*/
|
||||
@ApiModelProperty(value = "每页条数,最大值为 100", required = true, example = "10")
|
||||
@Schema(title = "每页显示条数", description = "最大值为 100", defaultValue = "10")
|
||||
@NotNull(message = "每页条数不能为空")
|
||||
@Range(min = 1, max = 100, message = "条数范围为 [1, 100]")
|
||||
private long size = 10;
|
||||
|
||||
@ApiModelProperty(value = "排序规则")
|
||||
@Schema(title = "排序规则")
|
||||
@Valid
|
||||
private List<Sort> sorts = new ArrayList<>();
|
||||
|
||||
@Schema(title = "排序元素载体")
|
||||
@Getter
|
||||
@Setter
|
||||
@ApiModel("排序元素载体")
|
||||
public static class Sort {
|
||||
|
||||
/**
|
||||
* 排序字段
|
||||
*/
|
||||
@ApiModelProperty(value = "排序字段")
|
||||
@Schema(title = "排序字段", example = "id")
|
||||
@Pattern(regexp = "[A-Za-z0-9_]{1,64}", message = "排序字段格式非法")
|
||||
private String field;
|
||||
|
||||
/**
|
||||
* 是否正序排序
|
||||
*/
|
||||
@ApiModelProperty(value = "是否正序排序")
|
||||
@Schema(title = "是否正序排序", example = "false")
|
||||
private boolean asc;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.hccake.ballcat.common.model.domain;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
|
||||
/**
|
||||
* 前端交互请求入参模型,将被转换为 PageParam 对象
|
||||
*
|
||||
* @see PageParam
|
||||
* @author hccake
|
||||
*/
|
||||
@Data
|
||||
@Valid
|
||||
@ParameterObject
|
||||
@Schema(title = "分页查询入参")
|
||||
public class PageParamRequest {
|
||||
|
||||
@Schema(title = "当前页码", description = "从 1 开始", defaultValue = "1", example = "1")
|
||||
@NotNull(message = "当前页码不能为空")
|
||||
@Min(value = 1, message = "当前页不能小于 1")
|
||||
private long current = 1;
|
||||
|
||||
@Schema(title = "每页显示条数", description = "最大值为 100", defaultValue = "10")
|
||||
@NotNull(message = "每页显示条数不能为空")
|
||||
@Range(min = 1, max = 100, message = "条数范围为 [1, 100]")
|
||||
private long size = 10;
|
||||
|
||||
@Schema(title = "排序字段", description = ",最大值为 100", example = "id")
|
||||
@Pattern(regexp = "[A-Za-z0-9_]{1,64}", message = "排序字段格式非法")
|
||||
String sortFields;
|
||||
|
||||
@Schema(title = "排序方式", example = "desc")
|
||||
String sortOrders;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.hccake.ballcat.common.model.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -14,19 +14,19 @@ import java.util.List;
|
||||
* @version 1.0
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("分页返回结果")
|
||||
@Schema(title = "分页返回结果")
|
||||
public class PageResult<T> {
|
||||
|
||||
/**
|
||||
* 查询数据列表
|
||||
*/
|
||||
@ApiModelProperty(value = "分页数据", required = true)
|
||||
@Schema(title = "分页数据")
|
||||
protected List<T> records = Collections.emptyList();
|
||||
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
@ApiModelProperty(value = "数据总量", required = true)
|
||||
@Schema(title = "数据总量")
|
||||
protected Long total = 0L;
|
||||
|
||||
public PageResult() {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.hccake.ballcat.common.model.domain;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -10,43 +9,43 @@ import lombok.Data;
|
||||
* @author Hccake
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("下拉框数据")
|
||||
@Schema(title = "下拉框数据")
|
||||
public class SelectData<T> {
|
||||
|
||||
/**
|
||||
* 显示的数据
|
||||
*/
|
||||
@ApiModelProperty(value = "显示的数据", required = true)
|
||||
@Schema(title = "显示的数据", required = true)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 选中获取的属性
|
||||
*/
|
||||
@ApiModelProperty(value = "选中获取的属性", required = true)
|
||||
@Schema(title = "选中获取的属性", required = true)
|
||||
private Object value;
|
||||
|
||||
/**
|
||||
* 是否被选中
|
||||
*/
|
||||
@ApiModelProperty(value = "是否被选中")
|
||||
@Schema(title = "是否被选中")
|
||||
private Boolean selected;
|
||||
|
||||
/**
|
||||
* 是否禁用
|
||||
*/
|
||||
@ApiModelProperty(value = "是否禁用")
|
||||
@Schema(title = "是否禁用")
|
||||
private Boolean disabled;
|
||||
|
||||
/**
|
||||
* 分组标识
|
||||
*/
|
||||
@ApiModelProperty(value = "分组标识")
|
||||
@Schema(title = "分组标识")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 扩展对象
|
||||
*/
|
||||
@ApiModelProperty(value = "扩展对象")
|
||||
@Schema(title = "扩展对象")
|
||||
private T extendObj;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.hccake.ballcat.common.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -22,28 +22,28 @@ public abstract class BaseEntity implements Serializable {
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建者")
|
||||
@Schema(title = "创建者")
|
||||
private Integer createBy;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@ApiModelProperty(value = "更新者")
|
||||
@Schema(title = "更新者")
|
||||
private Integer updateBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@Schema(title = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
@Schema(title = "修改时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.hccake.ballcat.common.model.entity;
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@@ -21,7 +21,7 @@ public abstract class LogicDeletedBaseEntity extends BaseEntity {
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@ApiModelProperty(value = "逻辑删除标识,已删除: 删除时间戳,未删除: 0")
|
||||
@Schema(title = "逻辑删除标识,已删除: 删除时间戳,未删除: 0")
|
||||
private Long deleted;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.hccake.ballcat.common.model.result;
|
||||
|
||||
import com.hccake.ballcat.common.i18n.I18nClass;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@@ -21,18 +21,18 @@ import java.io.Serializable;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "返回体结构")
|
||||
@Schema(title = "返回体结构")
|
||||
public class R<T> implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "返回状态码")
|
||||
@Schema(title = "返回状态码")
|
||||
private int code;
|
||||
|
||||
@ApiModelProperty(value = "返回信息")
|
||||
@Schema(title = "返回信息")
|
||||
private String message;
|
||||
|
||||
@ApiModelProperty(value = "数据")
|
||||
@Schema(title = "数据")
|
||||
private T data;
|
||||
|
||||
public static <T> R<T> ok() {
|
||||
|
||||
Reference in New Issue
Block a user