swagger

本文介绍了如何在Spring Boot项目中引入和配置Swagger2及Swagger Ui,用于构建RESTful API的文档。通过添加相关依赖,启用Swagger2,并自定义注解控制文档生成。同时展示了常用的Swagger注解,如@Api、@ApiOperation等,帮助开发者更好地管理和展示API接口。
摘要由CSDN通过智能技术生成

引入依赖

  • Swagger2
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
  • Swagger Ui
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

添加扫描

@EnableSwagger2

访问SwaggerUI

localhost:8080/SwaggerUi.html

Swageer 配置

@Configuration
public class SwaggerConfiguration{
    /**
     *创建Docker类型的对象。并使用spring容器管理
     *Docker是Swagger中的全局配置对象
     *@retuen
     */
    @Bean
    public Docket docket(){
        Docker docker = new Docket(DocumentationType.SWAGGER_2);
        //API帮助文档的帮助信息
        ApiInfo apiInfo = 
            new ApiInfoBuilder()
            	.contact(
            		new Contact(
                        "文档名字",//发布者企业名称
                        "网址",//文档发布者的网站地址企业网站
                        "email"//文档发布者的电子邮箱
                    )
        		)
            	.title("名称")//文档的标题
            	.descripiton("描述")//文档的表述
            	.version("1.1")//版本
            	.build();//构建器模式创建对象
        //给docker上下文配置api描述信息
        docker.apiInfo(apiInfo);
        docker.select()//获取选择器
              	   .apis(Predicates.not(RequestHandleSelectors.withMethodAnnotation(MyAnnotation4Swagger)))
            //(Predicates.not 取反 RequestHandleSelectors.withMethodAnnotation 当方法上有注解的时候返回true
            	  .apis(RequestHandlerSelecrors.basePackage(""));//设定扫描那个包包
        		  .paths(PathSelectors.regex("/swagger/.*"))//使用正则表达式,约束生成文档的路径地址
        		
        return docker;
    }
}

自定义注解不生成文档

@Target(ElementType.METHOD,ElementType.TYPE)//目标 描述当前的注解可以定义在什么资源上
@Retention("RententionPolicy.RUNTIME")//当前注解在什么时候有效
public @interface MyAnnotation4Swagger{
    String value() default "",
}

常用自带注解

@Api(tags={"MyColler","Swagger学习控制器"},description="描述") //tage起别名 description 添加表述信息

@ApiOperation(value="描述" notes="标记")//给方法添加描述和标记

@ApiParam(name="参数名称",value="描述") //修饰方法和参数

@ApiIgnor() //修饰方法 类型 忽略当前描述的方法和类不生产api

@ApiImplicitParam(name = "m",value = "m参数描述") //描述参数

@ApiImplicitParams( value = {
    @ApiImplicitParam(name = "m",value = "m参数描述") //描述参数
    @ApiImplicitParam(name = "n",value = "n参数描述") //描述参数
	}) //描述参数

@ApiModel(value="自定义实体-MyEntity",description="MyEntity") //ApiModel - 描述一个实体类型。这个实体类型如果成为任何一个生成api帮助文档的返回值类型的时候,此注解被解析。

@ApiModeProperty(value = "参数名",name = "描述",required="是否必要",example="实例",hidden = "是否隐藏")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值