SpringBoot整合knife4j

1.1 Swagger

前后端分离开发:前端和后端分开进行开发,2个项目,一个是前端项目,一个是后端项目

目前基本上很多小项目都是前后端分离,除了后台管理系统

前后端分离开发,前端(app、小程序、智能硬件等)怎么调用后端接口?怎么知道接口需要什么请求?接口需要什么参数?

接口文档:描述后端的接口信息,需要明确接口的作用、请求方式、需要的参数、返回的内容、异常说明等,实际中需求会不断发送改变。这样就导致文档随时发送改变,对研发压力就很大。

实际开发中,我们会采用在线接口文档,以便需求随时改变

在线接口文档:选择Swagger

Swagger:免费的一款Java在线接口为文档框架,使用简单,方便

官网:https://swagger.io/

1.2 SpringBoot整合Swagger

提前准备SQL:

create database db_data2204 char set utf8;
use db_data2204;
create table t_project(
  id int primary key auto_increment,
  name varchar(30),
  days int,
  sdate date,
  edate date,
  ctime datetime,
  leader varchar(10)
);

1.依赖

<!--        Swagger在线文档 -->
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>3.0.3</version>
</dependency>

2.实现配置代码

@Configuration //标记这是一个配置
@EnableSwagger2 //启用Swagger
public class SwaggerConfig {
    //创建接口文档信息
    public ApiInfo createApiInfo(){
        return new ApiInfoBuilder().title("Java2204的接口文档").description("这是我们精英团队历时很长时间写完最有优秀后端接口,好用的一批!").
            contact(new Contact("土狗","http://www.tugou.com","tugou@163.com")).
            version("V1.0.0").build();
    }
    @Bean //IOC容器 存储  <bean>
    public Docket createApi(){
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(createApiInfo()).select().
            apis(RequestHandlerSelectors.withClassAnnotation(Api.class)).
            build();
    }
}

3.在控制层使用注解标记接口文档信息

@RestController
@RequestMapping("/api/project/")
@Api(tags = "实现项目的相关操作") //swagger 为类添加说明信息
public class ProjectController {
    @Autowired
    private ProjectService service;

    //新增
    @ApiOperation(value = "实现项目的新增",notes = "实现项目的新增")//Swagger 为方法加注释
    @PostMapping("save.do")
    public R save(Project project){
        if(service.save(project)){
            return R.ok();
        }else {
            return R.fail();
        }
    }
    //查询
    @ApiOperation(value = "实现项目的查询",notes = "实现项目的查询")//Swagger 为方法加注释
    @GetMapping("all.do")
    public R all(){
        return R.ok(service.list());
    }
}

4.配置文件

需要配置:

spring:
    mvc:
        pathmatch:
              matching-strategy: ANT_PATH_MATCHER

5.运行测试

http://localhost:8082/doc.html

直接访问doc.html页面

img

1.3 Swagger核心

1.注解

@Api 修改类,作用:为类添加接口文档的说明

@ApiOperation 修饰方法,作用:为方法添加说明信息

@ApiParam 修饰参数,作用:为参数添加说明信息

@EnableSwagger2 修饰类,作用:启用Swagger,让Swagger生效

2.配置类

CV -改 中文说明信息

@Configuration //标记这是一个配置
@EnableSwagger2 //启用Swagger
public class SwaggerConfig {
    //创建接口文档信息
    public ApiInfo createApiInfo(){
        return new ApiInfoBuilder().title("Java2204的接口文档").description("这是我们精英团队历时很长时间写完最有优秀后端接口,好用的一批!").
                contact(new Contact("土狗","http://www.ccut.com","zhenqk@163.com")).
                version("V1.0.0").build();
    }
    @Bean //IOC容器 存储  <bean>
    public Docket createApi(){
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(createApiInfo()).select().
                apis(RequestHandlerSelectors.withClassAnnotation(Api.class)).
                build();
    }
}

https://www.apifox.cn/?utm_source=baidu_sem2&bd_vid=12859330887466703508

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值