Skip to content

Commit

Permalink
♻️ SpringFox 相关注解切换为 SpringDoc
Browse files Browse the repository at this point in the history
  • Loading branch information
fxbin committed Aug 24, 2023
1 parent 0f82b14 commit 0e7838f
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 55 deletions.
11 changes: 8 additions & 3 deletions bubble-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,15 @@
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</dependency>
<!-- swagger-models -->
<!-- knife4j -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-core</artifactId>
</dependency>
<!-- springdoc -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-common</artifactId>
</dependency>
<!-- hutool -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package cn.fxbin.bubble.core.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Range;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
Expand All @@ -20,63 +19,46 @@
* @version v1.0
* @since 2020/9/21 14:51
*/
@Getter
@Setter
@ToString
@ApiModel("分页参数")
@Schema(description = "分页参数")
public class PageRequest implements Serializable {

@ApiModelProperty(value = "页码,从 1 开始", required = true, example = "1")
@Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "页码不能为空")
@Min(value = 1, message = "页码最小值为 1")
private Integer pageNo = 1;

@ApiModelProperty(value = "每页条数,最大值为 100", required = true, example = "10")
@Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@NotNull(message = "每页条数不能为空")
@Range(min = 1, max = 100, message = "条数范围为 [1, 100]")
private Integer pageSize = 10;

@Getter
@Setter
@ApiModelProperty(value = "排序规则")
private List<Sort> sorts = new ArrayList<>();
@Schema(description = "排序规则")
private List<SortItem> sorts = new ArrayList<>();

@Getter
@Setter
@ApiModel("排序元素")
public static class Sort {
@Schema(description = "排序元素")
public static class SortItem {

/**
* 排序字段
*/
@ApiModelProperty(value = "排序字段")
@Schema(description = "排序字段")
private String field;

/**
* 是否正序排序
*/
@ApiModelProperty(value = "是否正序排序")
private boolean asc;

}

public Integer getPageNo() {
return pageNo;
}

public PageRequest setPageNo(Integer pageNo) {
this.pageNo = pageNo;
return this;
}

public Integer getPageSize() {
return pageSize;
}
@Schema(description = "是否正序排序", defaultValue = "true")
private boolean asc = true;

public PageRequest setPageSize(Integer pageSize) {
this.pageSize = pageSize;
return this;
}

@ApiModelProperty(hidden = true)
@Schema(hidden = true)
public final int getOffset() {
return (pageNo - 1) * pageSize;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package cn.fxbin.bubble.core.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;

import java.io.Serializable;
Expand All @@ -18,22 +17,22 @@
* @since 2020/9/21 15:12
*/
@Getter
@ApiModel("分页结果")
@Schema(description = "分页结果")
public class PageResult<T> implements Serializable {

@ApiModelProperty(value = "数据", required = true)
@Schema(description = "数据", requiredMode = Schema.RequiredMode.REQUIRED)
private List<T> list;

@ApiModelProperty(value = "总量", required = true)
@Schema(description = "总量", requiredMode = Schema.RequiredMode.REQUIRED)
private Long total;

@ApiModelProperty(value = "总页数", required = true)
@Schema(description = "总页数", requiredMode = Schema.RequiredMode.REQUIRED)
private Long totalPage;

@ApiModelProperty(value = "页码,从 1 开始", required = true)
@Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED)
private Long pageNo;

@ApiModelProperty(value = "每页条数", required = true)
@Schema(description = "每页条数", requiredMode = Schema.RequiredMode.REQUIRED)
private Long pageSize;

public PageResult<T> setList(List<T> list) {
Expand Down
11 changes: 5 additions & 6 deletions bubble-core/src/main/java/cn/fxbin/bubble/core/model/Result.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

import cn.fxbin.bubble.core.exception.ServiceException;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
Expand All @@ -22,19 +21,19 @@
@Data
@Builder
@Accessors(chain = true)
@ApiModel(description = "响应信息")
@Schema(description = "响应信息")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Result<T> implements Serializable {

private static final long serialVersionUID = 5392304127156442143L;

@ApiModelProperty(value = "状态返回码", required = true)
@Schema(description = "状态返回码", requiredMode = Schema.RequiredMode.REQUIRED)
private int errcode;

@ApiModelProperty(value = "对返回码的文本描述内容", required = true)
@Schema(description = "对返回码的文本描述内容", requiredMode = Schema.RequiredMode.REQUIRED)
private String errmsg;

@ApiModelProperty(value = "响应数据")
@Schema(description = "响应数据")
private T data;

public Result() {
Expand Down
30 changes: 29 additions & 1 deletion bubble-dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
<spring-boot-admin.version>3.1.5</spring-boot-admin.version>

<!-- Other Dependency Versions -->
<knife4j.version>3.0.3</knife4j.version>
<knife4j.version>4.3.0</knife4j.version>
<springdoc.version>2.2.0</springdoc.version>
<okhttp.version>4.9.3</okhttp.version>
<hutool.version>5.8.21</hutool.version>
<guava.version>32.1.2-jre</guava.version>
Expand Down Expand Up @@ -187,6 +188,33 @@
<scope>import</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-common -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-common</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-api</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>

<!-- okhttp3 -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ public <T> IPage<T> buildPage(PageRequest request) {
Page<T> page = new Page<>(request.getPageNo(), request.getPageSize());

// 排序字段拼接
List<PageRequest.Sort> sorts = request.getSorts();
List<PageRequest.SortItem> sorts = request.getSorts();
if (CollectionUtils.isNotEmpty(sorts)) {
page.addOrder(sorts.stream()
.map(sort -> sort.isAsc() ?
OrderItem.asc(sort.getField()) : OrderItem.desc(sort.getField()))
.map(sortItem -> sortItem.isAsc() ?
OrderItem.asc(sortItem.getField()) : OrderItem.desc(sortItem.getField()))
.collect(Collectors.toList()));
}
return page;
Expand Down

0 comments on commit 0e7838f

Please sign in to comment.