`

[转]使用swagger进行rest api描述和测试

阅读更多

Swagger学习和实践

 

最近安装并使用了一下Swagger-uiSwagger-editorSwagger-codegen,感觉还不错。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是对REST API定义一个标准的和语言无关的接口,可让人和计算机无需访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。

Swagger是一组开源项目,其中主要要项目如下:

  • Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。
  • Swagger-core: 用于Java/Scala的的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF...)、Servlets和Play框架进行集成。
  • Swagger-js: 用于JavaScript的Swagger实现。
  • Swagger-node-express: Swagger模块,用于node.js的Express web应用框架
  • Swagger-ui:一个无依赖的HTML、JS和CSS集合,可以为Swagger兼容API动态生成优雅文档。
    Swagger实践和总结
  • Swagger-codegen:一个模板驱动引擎,通过分析用户Swagger资源声明以各种语言生成客户端代码。
     C:\tools\swagger-codegen>mvn package
    C:\tools\swagger-codegen\modules\swagger-codegen-cli>mvn package
    C:\tools\swagger-codegen\modules\swagger-generator>mvn package
    C:\tools\swagger-codegen>java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i http://petstore.swagger.io/v2/swagger.json -l spring-mvc -o yqu/petstore/spring-mvc
    C:\tools\swagger-codegen\yqu\petstore\spring-mvc>mvn package
     
    上述操作通过底层使用SpringFox库,会创建带有Swagger注释的Spring MVC框架代码,包括Controller和DTO类。这样将Swagger-ui部署到Web应用内,就可以通过http://server:8002/v2/sdoc.jsp在线访问API文档了。
  • Swagger-editor:可让使用者在浏览器里以YAML格式编辑Swagger API规范并实时预览文档。可以生成有效的Swagger JSON描述,并用于所有Swagger工具(代码生成、文档等等)中。
    Swagger实践和总结

 

除了Swagger项目自身支持的Java、Scala和JavaScript语言,Swagger社区中还提供了很多支持其他语言的第三方工具,覆盖了Clojure、ColdFusion / CFML、Eiffel、Go、Groovy、.Net、Perl、PHP、Python、Ruby等各种编程语言。

 

Swagger总结


Swagger这类API文档工具可以满足下列需求:

  • 支持API自动生成同步的在线文档
    • 这些文档可用于项目内部API审核
    • 方便测试人员了解API
    • 这些文档可作为客户产品文档的一部分进行发布
  • 支持API规范生成代码,生成的客户端和服务器端骨架代码可以加速开发和测试速度


跟下列其他API文档工具相比,Swagger各有优缺点,但它功能最多、也是最流行的。

 

参考


 

转自 http://blog.sina.com.cn/s/blog_72ef7bea0102vpu7.html

分享到:
评论

相关推荐

    API安全测试的思路与基于Swagger的API自动化安全测试实践.pdf

    此外,Swagger还允许测试者构建出可视化的API文档,这不仅方便了开发者对API的理解和使用,还提供了自动化的接口测试功能,这有助于提升API的质量和安全性。实践表明,在SDLC中利用Swagger进行自动化安全测试,可以...

    Swagger-UI 基于REST的API测试/文档类插件

    Swagger-UI 是一个非常流行的开源工具,用于交互式地测试和展示基于RESTful API的服务。它为开发人员提供了一个直观的Web界面,可以方便地浏览、尝试和理解API的各个端点。Swagger-UI的核心是Swagger OpenAPI ...

    Java+SpringMvc+mybatis+RestAPI,整合swagger

    Java SpringMvc Mybatis RestAPI与Swagger的整合是一个常见的实践,用于构建现代Web服务。这个架构组合提供了强大的功能,包括后端开发的灵活性、数据访问的高效性以及前端友好的API接口。Swagger则作为文档和测试...

    swagger-core,用于生成swagger api规范的示例和服务器集成,该规范允许轻松访问restapi.zip

    Swagger 是一种流行的 RESTful API 描述语言,它允许开发者通过 YAML 或 JSON 文件清晰地定义 API 的接口,包括资源、操作、参数、响应等,使得 API 的设计、文档化和测试变得更加容易。 Swagger Core 的主要功能...

    jax-rs-2.0-swagger:使用Swagger获取REST API文档

    Swagger则是API文档化和测试的开源工具,它允许开发者轻松地创建、共享和使用API。 **描述分析:** 描述中提到的“本地主机:8080 / swagger /”暗示我们在本地运行了一个Web服务器,并且Swagger UI可以通过访问这...

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

     现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如有些团队,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础。良好的...

    swagger-rest-api-documentation:Swagger REST API文档示例

    Swagger REST API文档示例是一个基于Java技术栈,利用Spring Boot框架和Swagger工具构建的RESTful API的详细文档项目。此项目旨在帮助开发者更好地理解和使用RESTful API,通过提供清晰、结构化的API接口定义,增强...

    Java+Springboot+mybatis+RestAPI,整合swagger

    通过以上步骤,我们可以构建一个完整的Java+Springboot+Mybatis+RestAPI系统,并利用Swagger对外公开服务,提供清晰的API文档,提升开发效率和用户体验。同时,良好的API设计和文档化对于维护和扩展项目至关重要,这...

    Swagger转JMeter脚本工具

    综上所述,Swagger转JMeter脚本工具通过解析Swagger.json文件,自动构建JMeter测试脚本,极大地提升了API测试的效率和质量。对于从事API测试、性能测试或者需要快速验证RESTful接口的IT专业人员来说,这是一款非常有...

    Node.js-用于从Swagger文件中模拟RESTAPI的有用数据的CLI

    标题中的“Node.js-用于从Swagger文件中模拟RESTAPI的有用数据的CLI”指的是一个基于Node.js的命令行工具,它的主要功能是帮助开发者从Swagger(也称为OpenAPI)规格文件中生成模拟的RESTful API数据。这个工具可能...

    使用swagger自动生成Api文档,demo

    在Spring Boot项目中,我们通常会使用`Springfox`库来整合Swagger,因为Springfox提供了对Spring MVC和Spring Data REST的全面支持。 要开始使用Swagger,我们需要在项目中添加Springfox的依赖。在`pom.xml`文件中...

    Java_生成Swagger API规范的示例和服务器集成,使您可以轻松访问您的REST API.zip

    Swagger是一个广泛使用的API开发和文档工具,它遵循OpenAPI规范,使得开发者能够轻松地设计、构建、文档化和测试RESTful服务。本示例将关注如何在Java环境中利用Swagger来生成API规范并将其集成到服务器中,以便于...

    Rest api下载

    - **Swagger**:提供了一种标准的方式来描述RESTful服务的API文档,方便开发和测试人员快速了解API的使用方法。 - **cURL**:命令行工具,可用于发送各种类型的HTTP请求。 ### 五、案例分析 根据提供的部分内容...

    springboot整合swagger构建Api文档

    Swagger是一个强大的工具,它允许开发者通过注解来描述API接口,然后自动生成文档,使得前端开发者和其他使用者能够清晰地了解接口的功能、参数和返回值。 首先,我们需要在SpringBoot项目中引入Swagger的相关依赖...

    springboot 整合swagger2.0支持API注释显示

    SpringBoot整合Swagger2.0是为了实现API文档的自动化生成与管理,这在现代微服务架构中尤为重要,因为清晰、详尽的API文档可以帮助开发者更好地理解和使用接口。Swagger2.0是一个强大的工具,它遵循OpenAPI规范,...

    rest-api-fuzz-testing:REST API模糊测试(RAFT):为Azure开发的自托管服务的源代码,包括API,业务流程引擎和默认的安全工具集(包括MSR的RESTler),使开发人员能够将安全工具嵌入其CICD工作流程

    RAFT使用多个并行的模糊测试器,可以轻松进行REST API的模糊测试。 使用嵌入到CI / CD管道中的单个命令行,开发人员可以针对其服务启动模糊测试作业。 RAFT当前支持以下Swagger / OpenAPI工具 工具 描述 RAFT与此...

    Django REST Swagger实现指定api参数

    Swagger是一个流行的API设计框架,它提供了一种标准化的方式来描述RESTful API,使得开发者可以轻松理解和使用API。 在Swagger中,API参数分为几种类型: 1. **Query参数**:这类参数附在URL后面,以问号(?)分隔...

    RestAPI.rar

    "RestAPI.rar"的文件名可能表明这是一个关于REST API开发的教程、示例代码或者相关文档集合,涵盖了如何创建、测试和部署REST API的全面知识。通过解压并学习这些内容,开发者可以深入了解REST API的设计原则和实践...

    swagger-ui-master.zip_Swagger favicon.ico_restful_restful api_sw

    "restful"和"restful_api"标签表明这个工具遵循REST(Representational State Transfer)架构风格,这是一种设计网络应用程序的流行方法,强调通过HTTP协议进行资源的交互,使用标准HTTP方法如GET、POST、PUT和...

Global site tag (gtag.js) - Google Analytics