当前位置:网站首页>How to form standard interface documents
How to form standard interface documents
2022-07-05 20:22:00 【Mountain King in kindergarten】
One 、 demand
When the front and rear ends are butted , The backend needs to provide a standard , In other words, it is very important for the front end to understand the interface documents . How to use annotations quickly 、 Simply form interface documents .
Two 、Swagger2 Switch knife4j Use
1、 stay pom.xml add knife4j Related dependence of
<!-- Integrate Knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
2、 stay Swagger2Config Add one @EnableKnife4j annotation , This annotation can open knife4j Enhancements for
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
@Bean
public Docket ssoFront() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(" Package path of the interface "))
.paths(PathSelectors.any())
.build().groupName(" Group name ");
}
@Bean
public Docket ssoAdmin() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.user.controller.admin"))
.paths(PathSelectors.any())
.build().groupName("sso-admin");
}
@Bean
public Docket member() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.user.controller.member"))
.paths(PathSelectors.any())
.build().groupName("member-service");
}
@Bean
public Docket system() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.user.controller.system"))
.paths(PathSelectors.any())
.build().groupName("system-service");
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(" Module documentation ")
.description(" User module API file ")
.contact(new Contact(" author ", null, null))
.version("v1")
.build();
}
}
3、 Run our SpringBoot application , visit API The document address can be viewed :http://localhost: Port number /doc.html
3、 ... and 、 Functional characteristics
contrast swagger Come on
1、 The returned result set supports folding , Convenient view
2、 The request parameters are JSON Check function
3、 knife4j Support the export of offline documents , Easy to send to others , Support Markdown Format ; Direct selection Document management -> Offline documents
function , And then choose download Markdown
that will do
3、 ... and 、 Use different annotations to form interface documents according to different request methods
One 、swagger Annotation application
1、 In the control layer , Can be in controller Use notes on @Api(tags = " Interface service name ") Mark the function of this controller .
2、 Annotations can be used on specific interfaces @ApiOperation(value = " Mailbox fuzzy matching query service interface ",notes = " Fuzzy matching of mailboxes ") Name the interface and describe the functions of the interface
Two 、@ApiOperation And Get Request annotations to use with
1、 Using annotations @RequestParam(value = " Incoming email ",required = false), Be careful name and value Can't coexist , Otherwise, the interface document cannot be generated .swagger It will automatically recognize this annotation and generate the corresponding document
Get The request data type is :
2、 Use @PathVariable(value = " Incoming email ",required = false) It's the same thing . The only difference is that the request type is different query, One is path
3、 Unwanted @ApiImplicitParam(name = " Mailbox fuzzy matching query ", value = "likeEmail", required = false) This annotation , Otherwise, two same parameters will appear .
3、 ... and 、@ApiOperation And Post Request annotations to use with
1、 Use @RequestBody Annotation request parameter entity . In the entity, add
@ApiModel(value = " XX request message ",description = " XX request message , The parent class is ",parent = class .class)
2、 Add
@ApiModelProperty(value=" So and so attribute ",required = true)
@ApiOperation(" XX request message ")
@PostMapping("edit")
public JsonResult edit(@RequestBody EditDTO dto) {
return
}
swagger It will automatically scan the annotated data in the entity class to form the interface document
3、post Request data format
Four 、 All return messages with return parameters need to specify the return parameters
Only with a clear return message , And in the message Class name @ApiModel And attribute @ApiModelProperty Notes are also used , Then the data type of the returned message will also appear in the interface document .
Corresponding examples will also appear below 、
notes : For the combination of annotations and request types, please refer to the following article
POST、GET、@RequestBody and @RequestParam difference _Archie_java The blog of -CSDN Blog
边栏推荐
- MySql的root密码忘记该怎么找回
- 信息学奥赛一本通 1340:【例3-5】扩展二叉树
- Notes on key vocabulary in the English original of the biography of jobs (12) [chapter ten & eleven]
- 微信小程序正则表达式提取链接
- js实现禁止网页缩放(Ctrl+鼠标、+、-缩放有效亲测)
- B站UP搭建世界首个纯红石神经网络、基于深度学习动作识别的色情检测、陈天奇《机器学编译MLC》课程进展、AI前沿论文 | ShowMeAI资讯日报 #07.05
- Mongodb basic exercises
- Scala basics [HelloWorld code parsing, variables and identifiers]
- Minimum commission for stock trading account opening, where to open an account with low commission? Is it safe to open an account on your mobile phone
- Dry goods navigation in this quarter | Q2 2022
猜你喜欢
走入并行的世界
[quick start of Digital IC Verification] 1. Talk about Digital IC Verification, understand the contents of the column, and clarify the learning objectives
About the priority of Bram IP reset
Enter the parallel world
.Net分布式事務及落地解决方案
kubernetes资源对象介绍及常用命令(五)-(ConfigMap&Secret)
1、强化学习基础知识点
微信小程序正则表达式提取链接
Zero cloud new UI design
B站UP搭建世界首个纯红石神经网络、基于深度学习动作识别的色情检测、陈天奇《机器学编译MLC》课程进展、AI前沿论文 | ShowMeAI资讯日报 #07.05
随机推荐
Guidelines for application of Shenzhen green and low carbon industry support plan in 2023
2020 CCPC 威海 - A. Golden Spirit(思维),D. ABC Conjecture(大数分解 / 思维)
July 4, 2022 - July 10, 2022 (UE4 video tutorial MySQL)
Leetcode skimming: binary tree 17 (construct binary tree from middle order and post order traversal sequence)
[quick start of Digital IC Verification] 6. Quick start of questasim (taking the design and verification of full adder as an example)
基金网上开户安全吗?去哪里开,可以拿到低佣金?
Leetcode brush questions: binary tree 11 (balanced binary tree)
Dry goods navigation in this quarter | Q2 2022
Sort and projection
sun. misc. Base64encoder error reporting solution [easy to understand]
【c语言】快速排序的三种实现以及优化细节
Leetcode skimming: binary tree 10 (number of nodes of a complete binary tree)
Mongodb basic exercises
C langue OJ obtenir PE, ACM démarrer OJ
Leetcode (695) - the largest area of an island
USACO3.4 “破锣摇滚”乐队 Raucous Rockers - DP
Mongodb/ document operation
Go language learning tutorial (16)
【数字IC验证快速入门】3、数字IC设计全流程介绍
Informatics Olympiad 1338: [example 3-3] hospital setting | Luogu p1364 hospital setting