基于Spring Boot, Spring Security 整合Swagger UI实现在线API文档
2020-03-26 08:38
531 查看
一、添加依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
二、创建SwaggerWebMvcConfig.java
@Configuration public class SwaggerWebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
三、创建SwaggerConfig
@Configuration @EnableWebMvc @EnableSwagger2 public class SwaggerConfig implements WebMvcConfigurer { /** * 指定接口基础信息 * apiInfo:定义项目描述信息 * apis: 指定接口层中的位置 * * @return Docket */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .groupName("业务接口") .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.yc.practice.mall")) .paths(PathSelectors.any()) .build(); } /** * 指定接口基础信息 * apiInfo:定义项目描述信息 * apis: 指定接口层中的位置 * * [将多个controller拼装到一个分组 * .apis(Predicates.or(selector1,selector2)) ] * [只监控user相关接口 * .paths(PathSelectors.regex("/user.*")) ] * [为有@Api注解的Controller生成API文档 * .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) ] * [为有@ApiOperation注解的方法生成API文档 * .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) ] * * @return Docket */ @Bean public Docket createSystemRestApi() { //分组展示 Predicate<RequestHandler> selector1 = RequestHandlerSelectors.basePackage("com.yc.practice.system.controller"); // Predicate<RequestHandler> selector2 = RequestHandlerSelectors.basePackage("com.lh.modules"); return new Docket(DocumentationType.SWAGGER_2) .groupName("系统接口") .apiInfo(apiInfo()) .select() .apis(Predicates.or(selector1)) .paths(PathSelectors.any()) .build(); } /** * 定义项目描述信息 * @return 定义项目描述信息 */ private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("接口文档") .description("Restful风格接口文档") .version("1.0") .build(); } }
四、security配置类中过滤swagger相关信息
@Override public void configure(WebSecurity web) { web.ignoring().antMatchers( "/swagger-ui.html") .antMatchers("/webjars/**") .antMatchers("/v2/**") .antMatchers("/swagger-resources/**"); }
五、访问http://ip:port/ swagger-ui.html即可
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- spring-boot整合swagger生成在线api文档
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- Spring Boot框架整合Spring Security实现安全访问控制
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- Spring Boot 2.X(十五):集成 Swagger2 开发 API 文档(在线+离线)
- spring boot 整合swagger2 实现动态生成接口文档
- SpringBoot Security整合JWT授权RestAPI的实现
- SpringBoot+libreoffice+jquery.media.js实现office文档在线预览
- 基于spring-boot使用Swagger构建restful api文档
- Spring Boot框架整合Spring Security实现安全访问控制
- Spring Boot整合Spring Security实现权限控制
- Springboot | SpringBoot 微服务整合Swagger生成API文档
- 基于springboot实现整合shiro实现登录认证以及授权过程解析
- springboot整合tomcat自带的websocket实现在线聊天及象棋网页对战功能
- (看了之后保证学会超仔细)Springboot整合Spring security实现用户登录验证入门项目
- springBoot 整合 swagger2 构建RESTful API文档
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- Springboot整合dubbo构建maven多模块项目(三) - 把server分为api(服务接口定义)和server(服务实现)两个子module
- Spring Boot框架整合Spring Security实现安全访问控制
- Spring Boot 2.X(十五):集成 Swagger2 开发 API 文档(在线+离线)