依赖
这里我们直接使用springboot内部集成的版本
com.github.xiaoymin knife4j-spring-boot-starter
添加配置类
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Knife4jConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.apiInfo(apiInfo())
.select()
// 配置api扫包范围
.apis(RequestHandlerSelectors.basePackage("com.doria.saToken"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
// 配置文档简介
.description("SaToken-Demo Document")
// 配置作者信息
.contact(new Contact("哈哈哈", "https://github.com.lenve", "1916008067@qq.com"))
// 版本号
.version("v1.1.0")
// 标题
.title("API测试文档")
.build();
}
}
使用
// 描述实体类
@ApiModel(value = "用户信息")
public class SysUser {
// 描述属性
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "性别")
private String gender;
@ApiModelProperty(value = "年龄")
private Integer age;
public SysUser(Long id, String name) {
this.id = id;
this.name = name;
}
}
// 描述Controller
@Api(tags = "测试文档")
@RestController
@RequestMapping(value = "/test")
public class TestController {
// 描述接口
@ApiOperation(value = "登录")
@PostMapping(value = "/login")
public BizResult login(@RequestBody @Valid LoginDto loginDto) {
if (!loginDto.getUsername().equals(UserConfig.username)) {
return fail();
}
if (!loginDto.getPassword().equals(UserConfig.password)) {
return fail();
}
StpUtil.login(556L);
SysUser user = new SysUser(556L, "法外狂徒张三", "man", 18);
return success(user);
}
@ApiOperation(value = "退出登录")
@PutMapping(value = "/logout")
public BizResult logout() {
StpUtil.logout();
return success();
}
@ApiOperation(value = "获取用户信息")
@GetMapping(value = "/info")
public BizResult info() {
if (!StpUtil.isLogin())
throw new NotLoginException("没登陆", "user not login", "un login");
return success(new UserInfo(556L, "法外狂徒张三", "woman", 19));
}
@ApiOperation(value = "查询当前会话是否登录")
@GetMapping(value = "/isLogin")
public BizResult isLogin() {
return success("当前会话是否登录:" + StpUtil.isLogin());
}
@ApiOperation(value = "获取当前用户userId")
@GetMapping(value = "/getUserId")
public BizResult getUserId() {
return success("用户id为" + StpUtil.getLoginIdAsLong());
}
@ApiOperation(value = "获取当前用户权限")
@GetMapping(value = "getPermission")
public BizResult 


