`

在线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开发的整个生态...

    swagger官方文档离线版

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

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

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

    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 简介...

    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文档生成工具简化了开发流程,提高了开发效率...

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

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

    开源:API文档汇总管理工具Swagger Butler

    Swagger Butler是一个基于Swagger与Zuul构建的API文档汇集工具。通过构建一个简单的Spring Boot应用,增加一些配置就能将现有整合了Swagger的Web应用的API文档都汇总到一起,方便查看与测试。 swagger-butler-core-...

Global site tag (gtag.js) - Google Analytics