`
flex_莫冲
  • 浏览: 1095608 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用swagger-php/ui做API测试

阅读更多
功能:
1 swagger-php根据自定义的规则生成API请求规则,通过phar生成json文件
2 打开swagger-ui/dist/index.html。输入json文件夹目录地址(需要同源),swagger-ui会根据请求的JSON生成API,页面很漂亮。输入请求参数后执行会获取返回值。
缺点:不能对返回的数据进行验证。功能类似chrome的插件postman。
Api Action测试参考代码:
Resource/PostAction.php
<?php
/**
 * @SWG\Resource(
 *   apiVersion="2.2.0",
 *   swaggerVersion="1.2",
 *   basePath="http://test.xxx.com/Api/Post",
 *   resourcePath="/Post",
 *   description="Operations about Post",
 *   produces="['application/json']"
 * )
 */

/**
 * @SWG\Api(
 *   path="/apps",
 *   @SWG\Operation(
 *     method="POST",
 *     summary="Find app by buID",
 *     notes="Returns apps based on BUID",
 *     type="Post",
 *     nickname="apps",
 *     authorizations={},
 *     @SWG\Parameter(
 *       name="apiVersion",
 *       description="api version",
 *       required=true,
 *       type="integer",
 *       format="int64",
 *       paramType="form",
 *       minimum="1.0",
 *       allowMultiple=false
 *     ),
 *     @SWG\Parameter(
 *       name="sessionID",
 *       description="user login session",
 *       required=true,
 *       type="string",
 *       paramType="form",
 * 		 defaultValue="9f6cdd0858a1e93b1426659b283a93ec",
 *       allowMultiple=false
 *     ),
 *	  @SWG\Parameter(
 *       name="buID",
 *       description="BU ID",
 *       required=true,
 *       type="int64",
 *       paramType="form",
 *       allowMultiple=false
 *     ),
 *     @SWG\ResponseMessage(code=400, message="Invalid ID supplied"),
 *     @SWG\ResponseMessage(code=404, message="Post not found"),
 * 	   @SWG\ResponseMessage(code=405, message="Invalid input"),
 * 	   @SWG\ResponseMessage(code=200, message="success")
 *   )
 * )
 */

项目描述信息
Info/api.php
<?php

/**
 * @SWG\Info(
 *   title="MY Project",
 *   description=" xxx",
 * )
 *
 */


readme
# Usage of API Docs
### Raw Spec Structure
* Info - General Info.
* Model - Entity Class
* Resource - API endpoint

### Compile API info.
* after modify the spec, run shell script, as follows.

	`cd api-docs`
	
	`./genDocumentation.sh`

* the compiled content (.json) is stored in documentation/Output/

### View API docs
* visit http://{domain}/documenation/


sh 执行文件
#!/bin/sh
../swagger-php/swagger.phar ../output-docs -o ../documentation/output/


分享到:
评论
1 楼 xmdxzyf 2015-09-11  
可以在网站(www.sosoapi.com)上试下在线表单方式编写swagger-ui对应的json哈,编辑简单而且可以在线预览和导入导出,挺方便的

相关推荐

    swagger-ui-master

    Swagger UI 是一个强大的工具,用于展示和测试基于 Swagger 规范(OpenAPI Specification)编写的RESTful API。在本文中,我们将深入探讨如何利用 CodeIgniter 框架结合 Swagger UI 来实现接口文档的自动化生成,...

    Laravel开发-swagger-ui-lumen

    Swagger-UI 是一个流行的工具,用于展示和测试基于 OpenAPI 规范的 RESTful API,而 Lumen 是 Laravel 的轻量级版本,特别适合构建高性能的微服务。 **一、Laravel 和 Lumen 概述** Laravel 是一款广泛使用的 PHP ...

    Laravel开发-laravel-swagger-api

    完成配置后,`laravel-swagger-api`会在指定的路由下提供Swagger UI,通过浏览器访问即可查看和测试API。同时,它还能生成JSON格式的OpenAPI规范文件,供其他工具(如Postman、Swagger Codegen等)使用。 **总结** ...

    Laravel开发-swagger-lume

    - 使用:运行命令生成Swagger JSON文件,然后通过Swagger UI查看和测试API。 5. **API文档**:Swagger-Lume生成的文档是实时更新的,随着代码的更改自动更新,确保文档始终与代码同步。 6. **优势**:集成Swagger...

    TP5集成swagger

    ### TP5集成Swagger知识点详解 #### 一、Swagger概述与工作原理 ...通过以上步骤,您可以在ThinkPHP 5项目中顺利集成并使用Swagger,自动化生成高质量的API文档,提高开发效率和文档维护的便捷性。

    Laravel开发-laravel-swagger-api .zip

    这将在`public`目录下生成一个`swagger.json`文件,这个文件包含了所有API的详细描述,可以用Swagger UI展示或者供其他客户端使用。 为了在浏览器中查看生成的Swagger UI,你可以使用`laravel/ui`包创建一个简单的...

    Laravel开发-swagger-generator

    总结来说,Laravel开发-Swagger Generator是Laravel项目中提高API文档质量和效率的有效工具,通过使用它可以方便地创建和维护符合Swagger规范的API文档,使得开发、测试和维护工作变得更加顺畅。通过学习和掌握如何...

    swagger-php-master.zip_cannotmzf_swagger_swagger php

    一旦有了规范文件,你可以选择使用Swagger UI或其他工具来展示和测试API。 总的来说,Swagger PHP 是PHP开发中一个不可或缺的工具,它极大地简化了API文档的创建和维护,促进了API的标准化和互操作性,提升了整个...

    初始化基于laravel5+swagger-php的api接口自动生成系统.zip

    2. **Swagger-Php**:了解如何通过注解来描述API接口,生成符合OpenAPI规范的JSON文档,以及如何利用Swagger UI进行接口测试。 3. **数据库设计**:查看MySQL数据库的表结构设计,学习如何使用Eloquent ORM进行数据...

    Laravel开发-l5-swagger-redoc

    在本文中,我们将深入探讨如何在Laravel框架中整合Swagger和Redoc,这两个工具对于构建RESTful API的文档和测试至关重要。Laravel是PHP的世界中一个流行且强大的Web应用程序框架,而Swagger则是一个用于设计、构建、...

    Laravel开发-l5-swagger-redoc .zip

    Swagger UI是Swagger的可视化界面,可以显示API的定义并提供测试功能。 Redoc是另一个出色的API文档展示工具,它基于OpenAPI规范,提供了一种美观、响应式的界面来展示API文档。Redoc的亮点在于其现代且易于阅读的...

    yii2-swagger:yii2与swagger-php

    Yii2 Swagger扩展 与yii2的集成。 将与集成。 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist light/yii2-swagger "~1.0.4" --dev 或添加 "light/yii2-swagger": "~1.0.4...

    Laravel开发-laravel-swagger-testcase

    此外,Swagger UI可以让开发者在浏览器中直接测试API,无需编写实际的测试代码。 测试用例是软件开发中的关键部分,对于Laravel来说,我们可以使用内置的PHPUnit测试框架。每个API的测试用例通常包含对各个HTTP方法...

    Laravel开发-swagger-lite

    最后,为了让用户能够访问生成的 Swagger UI,你需要在 Laravel 的路由文件 `routes/api.php` 或 `routes/web.php` 中添加一条路由,指向 Swagger-Lite 提供的视图: ```php Route::get('/api/documentation', '\L5...

    Laravel开发-laravel-swagger

    Swagger UI 提供了一个交互式的界面,允许用户浏览、尝试和测试 API 功能,而无需编写任何代码。 在 Laravel 中使用 `laravel-swagger`,你需要首先安装扩展包。通常,这可以通过 Composer 来完成,执行以下命令: ...

    swagger小白学习总结

    Swagger 是一个流行的 API 框架,用于生成 API 文档和在线测试 API。下面是 Swagger 的学习总结,包括 Swagger 的概念、作用、集成到 Spring Boot 中的步骤等。 一、Swagger 简介 Swagger 是一个基于 OpenAPI 规范...

    Laravel开发-laravel5-swagger

    在终端中运行`php artisan l5-swagger:generate`,这将解析你的代码中的注解并生成JSON文件,供Swagger UI使用。 总之,将Swagger集成到Laravel 5项目中,能够帮助我们更好地管理和文档化API,同时提供了交互式的...

Global site tag (gtag.js) - Google Analytics