`

在线API文档工具swagger

 
阅读更多

     在项目开发中,我们经常需要进行前后端接口联调的工作,以往通过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官网

 

    

 

  • 大小: 77.6 KB
  • 大小: 41.3 KB
分享到:
评论

相关推荐

    swagger导出静态API文档工具

    Swagger导出静态API文档工具是基于Swagger的一个实用工具,它是一个Maven工程,这意味着我们可以利用Maven的构建生命周期来自动化文档的生成过程。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过读取...

    Swagger3生成API文档配置(Demo)

    总结,Swagger3是Spring Boot项目中用于生成API文档的强大工具,通过注解和配置,我们可以轻松地创建和管理RESTful API的文档。通过运行应用,我们可以利用Swagger UI进行接口的测试和调试,极大地提高了开发效率和...

    swagger在线文档转成word文档

    总之,将SpringBoot项目中的Swagger在线文档转为Word文档是一个多步骤的过程,涉及Swagger2的集成、文档的导出以及格式转换。了解这些知识点,有助于我们在开发过程中更好地管理和分享API文档。

    SpringBoot搭建API文档插件Swagger并美化.docx

    在本文中,我们将深入探讨如何使用SpringBoot框架搭建API文档,并使用Swagger进行美化。Swagger是一个强大的工具,可以方便地为RESTful API生成交互式文档,从而帮助开发者更好地理解和使用你的API。 首先,我们...

    swagger在线api文档搭建指南.doc

    "swagger在线api文档搭建指南" Swagger是一种在线API文档搭建工具,它可以帮助开发者快速生成API文档,使得API的使用和维护更加方便。下面是Swagger在线API文档搭建指南的相关知识点: 1. Swagger的主要功能:...

    swagger官方文档

    Swagger官方文档主要围绕Swagger这一API开发工具展开,它不仅介绍了Swagger的基本概念,还对OpenAPI规范进行了详细的解释,并指导如何根据该规范编写API文档。此外,文档还涉及了使用Swagger进行API开发的整个生态...

    java web api文档生成工具.继Swagger以后,又一个用法更简单的APIDoc生成中间件

    Java Web API文档生成工具在现代软件开发中扮演着至关重要的角色,它们帮助开发者轻松地创建、管理和分享API接口的文档。Swagger是这类工具中的佼佼者,但有时其使用方式可能相对复杂,需要编写大量的注解。而"java ...

    swagger官方文档离线版

    9. **代码生成**:Swagger 2.0文档可以被各种工具(如Swagger Codegen)用来自动生成客户端库、服务器框架代码、API文档等,大大简化了开发流程。 OpenAPI Specification - Version 2.0 _ Swagger_files目录很可能...

    Web API安装swagger控件,自动生成api接口文档

    Swagger UI是其中的一个组件,可以生成交互式的API文档。 1. **安装Swagger** - 使用NuGet包管理器或命令行工具,运行以下命令来安装`Swashbuckle.AspNetCore`包: ``` Install-Package Swashbuckle.AspNetCore ...

    项目API文档在线自动生成 Swagger UI.zip

    Swagger UI是一款RESTFUL接口的文档在线自动生成 功能测试功能软件。 现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如有些团队,移动端交由了另一团队...

    Swagger编写API文档的YAML示例

    Swagger Editor是一个在线工具,可以实时预览和编辑OpenAPI定义,帮助开发者创建和维护规范化的API文档。 首先,让我们了解YAML的基本结构。YAML文档由键值对组成,通常以空格或缩进表示层次关系。例如: ```yaml ...

    swagger ui API文档工具

    随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且...API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架

    API开发常用模版;功能包括:后端跨域、api文档生成工具swagger、api限流保护。flask.zip

    本压缩包“flask.zip”提供了一个基于Python Flask框架的API开发常用模板,它包含了几个关键功能:后端跨域支持、API文档生成工具Swagger以及API限流保护。下面将详细解释这些功能及其重要性。 1. **后端跨域支持**...

    Spring Boot集成 Swagger2 展现在线接口文档

    Swagger 是一个流行的 API 文档工具,能够生成在线接口文档,帮助开发人员和调用接口的人员更好地理解和使用 API。下面,我们将探讨如何在 Spring Boot 项目中集成 Swagger2,以展现在线接口文档。 1. Swagger 简介...

    swagger文档离线导出,word、pdf、html

    Swagger 是一个广泛使用的 API 设计和文档工具,它允许开发者以结构化的方式定义 RESTful API,使得服务接口清晰易懂,同时提供了一种交互式的 API 文档系统,方便开发者测试和理解 API 功能。Swagger 文档离线导出...

    基于SwaggerSwaggeropenapi30规范通过配置SwaggerJSON生成API文档

    在这个项目中,开发者可能已经按照OpenAPI 3.0规范编写了Swagger JSON配置,并结合Swagger UI或类似工具,生成了详细的API文档。同时,这个库可能还包含了与API相关的JavaScript代码示例或者完整的API实现。 总的来...

    RESTful API设计:API文档编写与Swagger工具.docx

    RESTful API设计:API文档编写与Swagger工具.docx

    Asp.Net WebApi添加SwaggerUI

    SwaggerUI是Swagger工具集的一部分,它基于Swagger规范,能够生成交互式的API文档,使API的调试和测试变得更加简单。 在Visual Studio 2017环境下,我们首先需要确保项目是基于Asp.Net WebApi框架构建的。接下来,...

    javascript API 文档生成工具 [本本作品]

    开发者可以根据项目需求选择合适的API文档工具,比如项目是JavaScript还是TypeScript,是否需要支持RESTful API,以及团队对文档格式的偏好等。 总之,JavaScript API文档生成工具简化了开发流程,提高了开发效率...

Global site tag (gtag.js) - Google Analytics