前后端分离开发:前端和后端分开进行开发,2个项目,一个是前端项目,一个是后端项目
目前基本上很多小项目都是前后端分离,除了后台管理系统
前后端分离开发,前端(app、小程序、智能硬件等)怎么调用后端接口?怎么知道接口需要什么请求?接口需要什么参数?
接口文档:描述后端的接口信息,需要明确接口的作用、请求方式、需要的参数、返回的内容、异常说明等,实际中需求会不断发送改变。这样就导致文档随时发送改变,对研发压力就很大。
实际开发中,我们会采用在线接口文档,以便需求随时改变
在线接口文档:选择Swagger
Swagger:免费的一款Java在线接口为文档框架,使用简单,方便
官网:https://swagger.io/
提前准备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.依赖
com.github.xiaoymin knife4j-spring-boot-starter 3.0.3
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容器 存储 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 {@Autowiredprivate 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页面
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容器 存储 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
上一篇:FRP进阶篇之安全认证