SpringBoot项目+SpringSecurity+Swagger2生成接口文档

Swagger2生成接口文档

参考别人的博客给线上项目做了一个swagger接口文档。
具体步骤:
因为我的项目使用的是gradle项目,所以这里以gradle项目为例:

第一步导入依赖:

compile "io.springfox:springfox-swagger2:2.9.2"
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'

第二步配置类

@Configuration
@EnableSwagger2
//配置正式不使用
@Profile(value = {"test", "dev"})
public class SwaggerConfig {
        @Bean
        public Docket docket () {
            return new Docket(DocumentationType.SWAGGER_2)
                    .select()
                    .apis(RequestHandlerSelectors.any())
                    .paths(PathSelectors.any())
                    .build()
                    .apiInfo(apiInfo());
        }

        private ApiInfo apiInfo () {
            return new ApiInfoBuilder()
                    .title("京东方合肥耗材供应商")
                    .termsOfServiceUrl("http://www.baidu.com")
                    .description("京东方合肥医院项目")
                    .version("v2.0")
                    .build();
    }
}

配置访问静态资源:

@Configuration
public class WebMvcConfig 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/");
    }
}

第三步在拦截的地方配置放行:

此处以SpringSecurity为例
在这个地方配置
在这里插入图片描述
重写WebSecurityConfigurerAdapter类的方法

@Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring(). antMatchers("/swagger-ui.html")
                .antMatchers("/webjars/**")
                .antMatchers("/v2/**")
                .antMatchers("/swagger-resources/**");
    }

我看别人是不需要在Springsecurity里面放行的,因为我之前是先在这里面放行不行才加上上面的配置的,所以具体不知道这里需不需要放行,如果需要的话可以加上:

.antMatchers("/swagger-ui.html/*","/v2/**","/swagger-resources/**").permitAll()

加在这个地方就行了
在这里插入图片描述
我这里主要用到的注解:

@Api:用在请求的类上,表示对类的说明

tags=“说明该类的作用,可以在UI界面上看到的注解”

value=“该参数没什么意义,在UI界面上也看到,所以不需要配置”

在这里插入图片描述
在swagger上的效果:
在这里插入图片描述
接下来是对接口的注解:
@ApiOperation:用在请求的方法上,说明方法的用途、作用

value=“说明方法的用途、作用”

notes=“方法的备注说明”

@RequestMapping(value = “/list”, method = {RequestMethod.POST})
这个注解如果不规范是POST请求或者GET请求的话展示的样子为:
在这里插入图片描述

在这里插入图片描述
@RequestMapping这个注解规范了请求如POST或者GET的话效果如下:
在这里插入图片描述
到此就配置完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、基于生产级别的Spring应用程序的框架。它简化了Spring应用程序的配置和部署过程,并提供了一套强大的开发工具和约定,使开发人员能够更专注于业务逻辑的实现。 MyBatis Plus是MyBatis的增强工具,它提供了一系列的便利功能和增强特性,使得使用MyBatis更加简单和高效。它包括了代码生成器、分页插件、逻辑删除、乐观锁等功能,可以大大提高开发效率。 Redis是一个开源的内存数据库,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis具有高性能、高可用性和可扩展性的特点,常用于缓存、消息队列、分布式锁等场景。 Driver是指数据库驱动程序,它是用于连接数据库和执行SQL语句的软件组件。在Spring Boot中,我们可以通过配置数据源和引入相应的数据库驱动程序来实现与数据库的交互。 Knife4j是一款基于Swagger的API文档生成工具,它提供了更加美观和易用的界面,可以方便地查看和测试API接口Swagger是一套用于设计、构建、文档化和使用RESTful风格的Web服务的工具。它可以自动生成API文档,并提供了交互式的界面,方便开发人员进行接口测试和调试。 JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。它通过在用户和服务器之间传递加密的JSON对象来实现身份验证和授权功能,避免了传统的基于Session的身份验证方式带来的一些问题。 Spring SecuritySpring提供的一个安全框架,它可以集成到Spring Boot应用程序中,提供身份验证、授权、攻击防护等安全功能。通过配置Spring Security,我们可以实现对API接口的访问控制和权限管理。 关于Spring Boot + MyBatis Plus + Redis + Driver + Knife4j + Swagger + JWT + Spring Security的Demo,你可以参考以下步骤: 1. 创建一个Spring Boot项目,并引入相应的依赖,包括Spring Boot、MyBatis Plus、Redis、数据库驱动程序等。 2. 配置数据源和数据库驱动程序,以及MyBatis Plus的相关配置,如Mapper扫描路径、分页插件等。 3. 集成Redis,配置Redis连接信息,并使用RedisTemplate或者Jedis等工具类进行操作。 4. 集成Knife4j和Swagger,配置Swagger相关信息,并编写API接口文档。 5. 集成JWT和Spring Security,配置安全相关的信息,如登录认证、权限管理等。 6. 编写Controller层的代码,实现具体的业务逻辑。 7. 运行项目,通过Swagger界面进行接口测试。 希望以上内容对你有帮助!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值