Spring Boot:(3)集成 Knife4j 接口文档生成工具

Spring Boot 集成 Knife4j 接口文档生成工具

  • maven引用
  • 创建Swagger配置文件
  • 接口文档访问
  • 附件

maven引用

  • 在项目的pom.xml文件中引入knife4j的依赖,如下:
    <dependencies>
    	<dependency>
        	<groupId>com.github.xiaoymingroupId>
        	<artifactId>knife4j-spring-boot-starterartifactId>
        	
        	<version>2.0.2version>
    	dependency>
    dependencies>
    

创建Swagger配置文件

  • 新建Swagger的配置文件SwaggerConfiguration.java文件,创建springfox提供的Docket分组对象,代码如下:

    @Configuration
    @EnableSwagger2
    @EnableKnife4j
    @Import(BeanValidatorPluginsConfiguration.class)
    public class SwaggerConfiguration {
    
    	@Bean(value = "defaultApi2")
    	public Docket defaultApi2() {
        	Docket docket=new Docket(DocumentationType.SWAGGER_2)
                	.apiInfo(apiInfo())
                	//分组名称
                	.groupName("2.X版本")
                	.select()
                	//这里指定Controller扫描包路径
                	.apis(RequestHandlerSelectors.basePackage("org.mur"))
                	.paths(PathSelectors.any())
                	.build();
        	return docket;
    	}
    
    	private ApiInfo apiInfo() {
        	return new ApiInfoBuilder()
                	.title("swagger-bootstrap-ui RESTful APIs")
                	.description("swagger-bootstrap-ui")
                	.termsOfServiceUrl("http://localhost:8080/")
                	// .contact("[email protected]")
                	.version("1.0")
                	.build();
    	}
    }
    
  • 以上有两个注解需要特别说明,如下表:

    注解 说明
    @EnableSwagger2 该注解是Springfox-swagger框架提供的使用Swagger注解,该注解必须加
    @EnableKnife4j 该注解是Springfox-swagger框架提供的使用Swagger注解,该注解必须加

接口文档访问

  • 在浏览器输入地址:http://host:port/doc.html

附件

  • 完整 DemoController
    @Api(tags = "Demo")
    @RestController
    @RequestMapping("/demo")
    public class DemoController {
    
    	@ApiOperation(value = "demo-one")
    	@GetMapping("/one")
    	public String demoOne(){
        	return "Hello World!";
    	}
    
    	@ApiOperation(value = "demo-two")
    	@PostMapping("/two")
    	public DemoDO demoTwo(DemoDO demo){
        	return demo;
    	}
    }
    
  • 响应demo
    @ApiModel("Demo响应")
    @Data
    @AllArgsConstructor
    public class DemoDO {
    	@ApiModelProperty("str字符串")
    	private String str;
    }
    
  • Demo接口文档
    Spring Boot:(3)集成 Knife4j 接口文档生成工具_第1张图片
  • 官方使用引导: https://doc.xiaominfo.com/knife4j/knife4j/springboot.html

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