springboot怎么集成swagger3与knife4j(knife4j,springboot,swagger3,开发技术)

时间:2024-05-06 00:09:36 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

编写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/&quot;)
//许可证
.license("Apache2.0")
.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0&quot;)
.version(VERSION)
.build();
}
privateContactcontact(){
returnnewContact("SpringBoot","https://spring.io/&quot;,&quot;email&quot;);
}
}/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;
}
}

运行结果

springboot怎么集成swagger3与knife4j

springboot怎么集成swagger3与knife4j

springboot怎么集成swagger3与knife4j

集成更好的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的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么使用Redis的共享session实现短信登录下一篇:

25 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18