springboot怎么集成swagger3与knife4j
导读:本文共3217字符,通常情况下阅读需要11分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:编写TestController代码@RestController@RequestMapping("test")publicclassTestController{@GetMappingpublicMap<String,Object>get(@RequestParamStringid){Map<String,Object>r=newHashMa... ...
目录
(为您整理了一些要点),点击可以直达。编写TestController代码
@RestController
@RequestMapping("test")
publicclassTestController{
@GetMapping
publicMap<String,Object>get(@RequestParamStringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}@PostMapping
publicMap<String,Object>post(){
Map<String,Object>r=newHashMap<>(1);
r.put("code",200);
returnr;
}
@PutMapping
publicMap<String,Object>put(Stringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}@DeleteMapping
publicMap<String,Object>delete(Stringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}
}
创建Swagger3Configuration
@Configuration
@EnableOpenApi
publicclassSwaggerConfig{
privatestaticfinalStringVERSION="0.0.1";
@Bean
publicDocketcreateRestApi(){
returnnewDocket(DocumentationType.OAS_30)
.groupName("分组名称")
.apiInfo(apiInfo())
.select()
//要扫描的包
.apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
.paths(PathSelectors.any())
.build();
}
privateApiInfoapiInfo(){
returnnewApiInfoBuilder()
//设置标题
.title("文档标题")
//联系人
.contact(contact())
//描述
.description("xxx文档")
//服务
.termsOfServiceUrl("https://spring.io/")
//许可证
.license("Apache2.0")
.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0")
.version(VERSION)
.build();
}
privateContactcontact(){
returnnewContact("SpringBoot","https://spring.io/","email");
}
}/pre><h4>对接口进行注解</h4><h5>swagger中常用的注解</h5><thead><th>注解</th><th>作用</th><th>使用位置</th></thead><tbody>@Api表示对类的说明常用参数类@ApiOperation说明方法的用途方法@ApiImplicitParams里面可以包含多个@ApiImplicitParam方法@ApiImplicitParam描述参数的用途方法@ApiModel表示一个数据类的信息类@ApiModelProperty描述数据类的属性属性@ApiIgnore忽略某个字段使之不显示在文档中属性</tbody接口基本使用
1.新建一个用户实体类
@ApiModel("用户")
@Data
publicclassUser{
@ApiModelProperty("用户名")
privateStringusername;
@ApiModelProperty("密码")
privateStringpassword;
}2.给TestController添加注解
@Api(tags="测试接口")
@RestController
@RequestMapping("test")
publicclassTestController{
@ApiOperation("get请求")
@GetMapping
@ApiImplicitParam(name="id",value="测试用id",dataTypeClass=String.class)
publicMap<String,Object>get(@RequestParamStringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}@ApiOperation("post请求")
@PostMapping
publicMap<String,Object>post(@RequestBodyUseruser){
Map<String,Object>r=newHashMap<>(1);
r.put("code",200);
returnr;
}@ApiOperation("put请求")
@PutMapping
@ApiImplicitParam(name="id",value="put请求id",dataTypeClass=String.class)
publicMap<String,Object>put(Stringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}@ApiOperation("delete请求")
@DeleteMapping
@ApiImplicitParam(name="id",value="delete请求id",dataTypeClass=String.class)
publicMap<String,Object>delete(Stringid){
Map<String,Object>r=newHashMap<>(1);
r.put("id",id);
returnr;
}
}运行结果
集成更好的UI-knife4j
maven
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>/pre><h5>启动器</h5><p>在SwaggerConfig类上添加**@EnableKnife4j**</p@Configuration相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
@EnableOpenApi
@EnableKnife4j
publicclassSwaggerConfig本文:springboot怎么集成swagger3与knife4j的详细内容,希望对您有所帮助,信息来源于网络。