首页 >> 大全

Spring boot+swagger2构建restful api文档

2023-10-04 大全 28 作者:考证青年

这篇文章,我们简单介绍一下 boot整合构建 api文档

什么是

我们在开发一些风格的api时,通常会为调用者提供一套 api说明文档。当我们的接口有调整时,就需要去更新api文档。而是这样的一个框架,可以在开发接口的过程中通过注解的方式来描述我们开发的接口,从而保证 api文档和接口代码的实时同步性。

boot整合

1引入依赖

在pom.xml文件中引入依赖

_Spring boot+swagger2构建restful api文档_Spring boot+swagger2构建restful api文档


io.springfoxspringfox-swagger22.2.2

io.springfoxspringfox-swagger-ui2.2.2

2编写配置类

.java

package com.yuxiaolong;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** @author yuxl* swagger配置类*/
@Configuration
@EnableSwagger2
public class Swagger2 {@Value("${swagger.show}")private boolean swaggerShow;@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).enable(swaggerShow).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.yuxiaolong.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("MY Site Swagger Restful API").description("主要罗列了应用提供的api接口").termsOfServiceUrl("https://www.wowjia.top/wojia/").contact("yuxioalong").version("1.0").build();}
}

3在工程中的 api中通过注解描述api

package com.yuxiaolong.controller;import com.yuxiaolong.model.ModuleDO;
import com.yuxiaolong.service.ModuleService;
import com.yuxiaolong.utils.ApiResponse;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** @author yuxl*/
@RestController
@RequestMapping("/module")
public class ModuleController {@AutowiredModuleService moduleService;@ApiOperation("新增模块")@PostMapping("/add")@ResponseBodypublic ApiResponse addModule(@RequestBody@ApiParam(name = "moduleDO", value = "模块实体类", required = true)ModuleDO moduleDO){moduleService.addModule(moduleDO);return  ApiResponse.success();}@ApiOperation("删除模块")@DeleteMapping("/delete/{id}")@ResponseBodypublic ApiResponse deleteModule(@ApiParam(name = "id", value = "模块id", required = true)@PathVariableInteger id){moduleService.deleteModule(id);return ApiResponse.success();}@ApiOperation("更新模块")@PutMapping("/update")@ResponseBodypublic ApiResponse updateModule(@RequestBody@ApiParam(name = "moduleDO", value = "模块实体类", required = true)ModuleDO moduleDO){moduleService.updateModule(moduleDO);return ApiResponse.success();}@ApiOperation("查询所有模块")@GetMapping("/list")@ResponseBodypublic List getModuleListByCondition(@ApiParam(name = "moduleName", value = "模块名称", required = false)String moduleName){return moduleService.getModuleListByCondition(null);}
}

_Spring boot+swagger2构建restful api文档_Spring boot+swagger2构建restful api文档

4启动 boot应用,访问 api

启动应用,访问:8080/-ui.html

通过该ui页面,我们还可以调用接口进行调试

感谢大家百忙之中抽出宝贵的时间阅读本文,欢迎大家批评指正。微信扫下面二维码添加公众号议码评川,可获取java web、大数据、人工智能等相关学习资料。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了