在项目开发中,我们经常需要进行前后端接口联调的工作,以往通过api接口文档进行接口的描述,一旦接口有什么改动,就需要进行api文档的更改,很不方便,现在我们可以通过swagger进行接口的在线查看和调用,非常方便,如果你对swagger不是很了解,请看这里:5分钟了解swagger 。
下面以springboot为例,进行swagger的配置使用说明,具体如下:
1、引入pom
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
2、swagger配置
/** * @ClassName: SwaggerConfig * @Description: swagger配置 * @author ejshi * @date 2018年1月31日 下午7:53:38 */ @SpringBootConfiguration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(getApiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("org.regulus.account.consumer.controller")) .paths(PathSelectors.any()) // .paths(Predicates.or(PathSelectors.regex("/[api|demo]/.*")))//过滤的接口 .build(); } private ApiInfo getApiInfo() { return new ApiInfoBuilder() .title("Api Documentation") .description("Api Documentation") .version("1.0.0") .license("Apache 2.0") .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0") .contact(new Contact("shijun", "https://swagger.io/", "gsshijun@126.com")) .build(); } }
3、controller接口类中使用swagger
@Api(value= "UserController",tags ="用户管理" ,description="用户管理相关功能API") @RestController public class UserController { @Reference private UserProvider userProvider; @ApiOperation(value = "新增" ,notes="新增数据记录") @PostMapping(path = "/user/add") public ResponseJson<Object> addUser( @ApiParam("请求参数") @RequestBody @Validated(UserRequest.Add.class) UserRequest userRequest){ User user = BeanCopierUtil.invoke(userRequest, User.class); user.setId(StringUtil.uuid()); userProvider.insertSelective(user); return new ResponseJson<Object>(true, ResponseCodeEnum.SUCCESS); } @ApiOperation(value = "查询" ,notes="查询相应数据记录,分页显示") @GetMapping(path = "/user/listPage") public ResponseJson<List<UserResponse>> listPageUser(@ApiParam("请求数据") UserQuery userQuery){ User user = BeanCopierUtil.invoke(userQuery, User.class); PageResultModel<User> pageResult = userProvider.selectWithPage(user, userQuery.getPageNum(), userQuery.getPageSize()); List<UserResponse> userResponses = BeanCopierUtil.invokeList(pageResult.getDataList(), UserResponse.class); return new ResponseJson<List<UserResponse>>(true, ResponseCodeEnum.SUCCESS, userResponses,pageResult.getTotal()); } }
4、请求参数类,如UserQuery中使用swagger注解
@ApiModel public class UserQuery { private static final long serialVersionUID = -2840366087876556526L; @ApiModelProperty("用户名") private String username; @ApiModelProperty("用户状态") private String userStatus; //省略get/set方法 }
5、swagger在线api如图所示
6、简单swagger注解参数讲解
注解 | 常见用法 |
@Api | 用于controller类上 |
@ApiOperation | 用于controller中的接口方法上 |
@ApiParam | 用于请求参数 |
@ApiModel | 用于请求或者响应类上,如UserQuery |
@ApiModelProperty | 用于@ApiModel注解类中的属性上 |
7、查看swagger注解的使用说明,点击这里,或这里swagger官网
相关推荐
Swagger导出静态API文档工具是基于Swagger的一个实用工具,它是一个Maven工程,这意味着我们可以利用Maven的构建生命周期来自动化文档的生成过程。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过读取...
总结,Swagger3是Spring Boot项目中用于生成API文档的强大工具,通过注解和配置,我们可以轻松地创建和管理RESTful API的文档。通过运行应用,我们可以利用Swagger UI进行接口的测试和调试,极大地提高了开发效率和...
总之,将SpringBoot项目中的Swagger在线文档转为Word文档是一个多步骤的过程,涉及Swagger2的集成、文档的导出以及格式转换。了解这些知识点,有助于我们在开发过程中更好地管理和分享API文档。
在本文中,我们将深入探讨如何使用SpringBoot框架搭建API文档,并使用Swagger进行美化。Swagger是一个强大的工具,可以方便地为RESTful API生成交互式文档,从而帮助开发者更好地理解和使用你的API。 首先,我们...
"swagger在线api文档搭建指南" Swagger是一种在线API文档搭建工具,它可以帮助开发者快速生成API文档,使得API的使用和维护更加方便。下面是Swagger在线API文档搭建指南的相关知识点: 1. Swagger的主要功能:...
Swagger官方文档主要围绕Swagger这一API开发工具展开,它不仅介绍了Swagger的基本概念,还对OpenAPI规范进行了详细的解释,并指导如何根据该规范编写API文档。此外,文档还涉及了使用Swagger进行API开发的整个生态...
Java Web API文档生成工具在现代软件开发中扮演着至关重要的角色,它们帮助开发者轻松地创建、管理和分享API接口的文档。Swagger是这类工具中的佼佼者,但有时其使用方式可能相对复杂,需要编写大量的注解。而"java ...
9. **代码生成**:Swagger 2.0文档可以被各种工具(如Swagger Codegen)用来自动生成客户端库、服务器框架代码、API文档等,大大简化了开发流程。 OpenAPI Specification - Version 2.0 _ Swagger_files目录很可能...
Swagger UI是其中的一个组件,可以生成交互式的API文档。 1. **安装Swagger** - 使用NuGet包管理器或命令行工具,运行以下命令来安装`Swashbuckle.AspNetCore`包: ``` Install-Package Swashbuckle.AspNetCore ...
Swagger UI是一款RESTFUL接口的文档在线自动生成 功能测试功能软件。 现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如有些团队,移动端交由了另一团队...
Swagger Editor是一个在线工具,可以实时预览和编辑OpenAPI定义,帮助开发者创建和维护规范化的API文档。 首先,让我们了解YAML的基本结构。YAML文档由键值对组成,通常以空格或缩进表示层次关系。例如: ```yaml ...
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且...API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架
本压缩包“flask.zip”提供了一个基于Python Flask框架的API开发常用模板,它包含了几个关键功能:后端跨域支持、API文档生成工具Swagger以及API限流保护。下面将详细解释这些功能及其重要性。 1. **后端跨域支持**...
Swagger 是一个流行的 API 文档工具,能够生成在线接口文档,帮助开发人员和调用接口的人员更好地理解和使用 API。下面,我们将探讨如何在 Spring Boot 项目中集成 Swagger2,以展现在线接口文档。 1. Swagger 简介...
Swagger 是一个广泛使用的 API 设计和文档工具,它允许开发者以结构化的方式定义 RESTful API,使得服务接口清晰易懂,同时提供了一种交互式的 API 文档系统,方便开发者测试和理解 API 功能。Swagger 文档离线导出...
在这个项目中,开发者可能已经按照OpenAPI 3.0规范编写了Swagger JSON配置,并结合Swagger UI或类似工具,生成了详细的API文档。同时,这个库可能还包含了与API相关的JavaScript代码示例或者完整的API实现。 总的来...
RESTful API设计:API文档编写与Swagger工具.docx
SwaggerUI是Swagger工具集的一部分,它基于Swagger规范,能够生成交互式的API文档,使API的调试和测试变得更加简单。 在Visual Studio 2017环境下,我们首先需要确保项目是基于Asp.Net WebApi框架构建的。接下来,...
开发者可以根据项目需求选择合适的API文档工具,比如项目是JavaScript还是TypeScript,是否需要支持RESTful API,以及团队对文档格式的偏好等。 总之,JavaScript API文档生成工具简化了开发流程,提高了开发效率...