springboot3。0。4RBAC(4)集成knife4j和角色处理
引入依赖 2.0.9 com.github.xiaoymin knife4j-spring-boot-starter ${knife4j.version}
配置SwaggerConfig@Configuration @EnableSwagger2WebMvc @AllArgsConstructor public class SwaggerConfig{ private final OpenApiExtensionResolver openApiExtensionResolver; @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //加了ApiOperation注解的类,生成接口文档 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) //包下的类,生成接口文档 //.apis(RequestHandlerSelectors.basePackage("io.renren.modules.job.controller")) .paths(PathSelectors.any()) .build() .extensions(openApiExtensionResolver.buildExtensions("xinjulang")) .directModelSubstitute(java.util.Date.class, String.class) .securitySchemes(security()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("新聚浪开源") .description("weather-admin文档") .version("1.0.1") .build(); } private List security() { return newArrayList( new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header") ); } }
securit配置
/** * 角色管理 */ @Data @ApiModel(value = "角色管理") public class SysRoleDTO implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "角色名称") private String name; @ApiModelProperty(value = "备注") private String remark; @ApiModelProperty(value = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) private Date createDate; @ApiModelProperty(value = "菜单ID列表") private List menuIdList; @ApiModelProperty(value = "部门ID列表") private List deptIdList; }
角色控制器配置