Swagger-----knife4j框架

简介

  1. 使得前后端分离开发更加方便,有利于团队协作

  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担

  3. 功能测试

    Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

怎么使用 

1.导入maven坐标


   com.github.xiaoymin
   knife4j-spring-boot-starter

2.在配置类中加入 knife4j 相关配置

/**
     * 通过knife4j生成接口文档
     * @return
*/
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("接口文档名称")
                .version("2.0")
                .description("接口文档名称")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))//扫描哪一个包下的文件
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

3.设置静态资源映射,否则接口文档页面无法访问

        也是在配置类中配置

/**
     * 设置静态资源映射
     * @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

4.测试

        在浏览器中输入当前项目所在服务器的地址:8080/doc.html

常用注解 

注解 说明
@Api 用在类上,例如Controller,表示对类的说明
@ApiModel 用在类上,例如entity、DTO、VO
@ApiModelProperty 用在属性上,描述属性信息
@ApiOperation 用在方法上,例如Controller的方法,说明方法的用途、作用
  1. @Api(tags = "员工相关接口")
    1. 放在controller类名上使用tags标签说明当前controller层有什么作用
  2. @ApiOperation(value = "员工登录")
    1. 放在controller层中的方法上,用来说明当前方法有什么作用
  3. @ApiModel( description = “xxxxx”)放在实体类上用来表述当前模型的作用
  4. @ApiModelProperty
    1. 用来说明当前实体类中的当前属性的作用

你可能感兴趣的:(java)