栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot结合knife4j

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot结合knife4j

1.概述

Swagger是一款测试文档Api接口,而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网knife4j。

2.使用  2.1 创建一个springboot的项目(2.5.4版本) 2.2 引入knife4j依赖(3.0.3版本)
 
       knife4j-spring-boot-starter
       com.github.xiaoymin
       
       3.0.3
 
2.3 创建配置类
package com.briup.config;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.documentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
//比swagger的配置类多了一个注解,其他一样
@EnableKnife4j
public class Swagger2Config {
	
	
	@Bean
	public Docket createRestApi() {
		return new Docket(documentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.basePackage("com.briup.web"))
				.paths(PathSelectors.any())
				.build();
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("XXXX管理系统")
				.description("欢迎访问XXX官网")
				.termsOfServiceUrl("XXXXXX")
				.version("1.0")
				.build();
	}
}
2.4 编写开发接口,注解和swagger中的注解一样使用
package com.briup.web;


import com.briup.bean.User;
import com.briup.service.UserService;
import com.briup.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(tags = "用户管理")
@RequiredArgsConstructor
@RequestMapping("/user")
@RestController
public class UserController {
    private final UserService userService;

    @ApiOperation(value = "检索所有用户信息")
    @GetMapping("/findAllUsers")
    public Result findAllUsers(){
        List list =
                userService.findAll();
        return Result.success(list);
    }

    @ApiOperation(value = "根据id获取用户信息")
    @GetMapping("/getUserById/{id}")
    public Result getUserById(@PathVariable  Integer id){
        User user = userService.findUserById(id);
        return Result.success(user);
    }

}
2.5 测试。

启动项目,浏览器访问localhost:8080/doc.html就可以看到接口的信息,展开接口,就能看到所有接口的详细信息。

展开后可以对各个请求进行测试。选择接口后点击调试,输入相关的参数点击发送按钮即可。

 

还支持导出各种形式的接口文档

 例如,导出的md文档

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684188.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号