spring boot +knife4j 详细步骤

提示:knife4j的使用方法和swagger几乎一模一样,没有什么学习成本,该文只适合普通spring boot ,不涉及网关啥的

1.pom



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

2.yml  可要 可不要

knife4j:
#自定义文档
  markdowns: classpath:markdown/*
  #屏蔽文档
  #production: true
  #认证
  #basic:
    #enable: true
    #username: station
    #password: station

3.Configuration类 跟 swagger配置一样

@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class Knife4jConfiguration {
    /**
     * 可指定多个Docket区分不同的分组
     *
     * @return
     */
    @Bean
    public Docket defaultApi() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //分组名称
                .groupName("1.0.0版本")
                .select()
                //这里指定Controller扫描包路径 ,不能用 * ,如果是com.gs.station,也会去自动匹配下级的 controller层
                .apis(RequestHandlerSelectors.basePackage("com.gs.station.manage.modules"))
                //添加Api注解才显示
//				.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("14楼")
				.description("# daping's RESTful APIs")
                .termsOfServiceUrl("***")
                .version("1.0.0")
                .build();
    }
}

4注解

//作者
@ApiOperationSupport(author = "tx")
//名称
    @ApiOperation(value = "地图模块")
//参数
    @ApiImplicitParams({
            @ApiImplicitParam(name="time",value="yyyyMMddHHmmss",required=true,paramType="query"),
            @ApiImplicitParam(name="type",value="SURF:自动站",required=true,paramType="query")})

//注意  最好不要用 RequestMapping (页面会出现多类型请求),或者你指定好 类型 get post 等
    @GetMapping("SysTsite")

5.访问路径

项目路径+/doc.html

你可能感兴趣的:(knife4j,spring,boot)