我们直接用sa-token的SaResult里面是没有@Api注解的,swagger是无法识别的,所以我们自定义一个SaResult,同理mybatis-plus里的Page, 我们也学着自定义一个。如下:
package com.chhuang.core.vo;
import com.chhuang.core.enums.SaCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @ClassName ChResult
* @Description 封装前端请求返回结果
* @Author Darren Huang
* @Date 2022/11/19 13:03
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "封装前端请求返回结果对象", description = "封装前端请求返回结果,包括了code,msg和data")
public class SaResult<T> implements Serializable {
private static final long serialVersionUID = -5258833270567888760L;
@ApiModelProperty(value = "编码")
private int code;
@ApiModelProperty(value = "信息")
private String msg;
@ApiModelProperty(value = "数据")
private T data;
public static<T> SaResult<T> ok() {
return new SaResult<T>(SaCode.SUCCESS.getCode(), SaCode.SUCCESS.getMessage(), (T)null);
}
public static<T> SaResult<T> ok(String msg) {
return new SaResult<T>(SaCode.SUCCESS.getCode(), msg, (T)null);
}
public static<T> SaResult<T> code(int code) {
return new SaResult<T>(code, (String)null, (T)null);
}
public static<T> SaResult<T> data(T data) {
return new SaResult<T>(SaCode.SUCCESS.getCode(), SaCode.SUCCESS.getMessage(), data);
}
public static<T> SaResult<T> data(String msg, T data) {
return new SaResult<T>(SaCode.SUCCESS.getCode(), msg, data);
}
public static<T> SaResult<T> error() {
return new SaResult<T>(SaCode.INTERNAL_SERVER_ERROR.getCode(), SaCode.INTERNAL_SERVER_ERROR.getMessage(), (T)null);
}
public static<T> SaResult<T> error(String msg) {
return new SaResult<T>(SaCode.INTERNAL_SERVER_ERROR.getCode(), msg, (T)null);
}
publ
自定义SaResult与Page增强Swagger文档

本文档介绍了如何针对sa-token的SaResult和mybatis-plus的Page进行自定义,以使其支持Swagger注解,从而在API文档中正确显示。通过创建ApiModel和ApiModelProperty注解的SaResult和Page类,实现了返回结果和分页信息的详细描述,方便前后端交互。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



