`
flex_莫冲
  • 浏览: 1074000 次
  • 性别: 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哈,编辑简单而且可以在线预览和导入导出,挺方便的

相关推荐

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

    SlimSwagger:用于使用 Swagger-PHP 动态生成 Swagger 文档的 Slim 中间件

    苗条的招摇用于使用 Swagger-PHP 动态生成 Swagger 文档的 Slim 中间件。安装最简单的是使用 Composer: composer require terwey/slim-swagger将它添加到 Slim 也很容易: $app-&gt;add(new \terwey\SlimSwagger(array...

    hyperf-apihelper:hyperf api swagger helper -[api接口自动验证和swagger接口文档生成] 组件

    生成json文件,供swagger接口文档测试使用,可打开或关闭.swagger支持接口多版本分组管理.支持restful path路由参数校验.支持自定义响应体结构.支持自定义多层级swagger model.支持自定义前置动作.支持自定义拦截动作....

    L5-Swagger:将OpenApi或Swagger集成到Laravel

    L5 Swagger-Laravel项目的... L5-Swagger所要做的只是以Laravel友好的方式打包swagger-php和swagger-ui,并试图使其易于使用。 有关如何使用swagger-php的信息,请参见。 有关运行中的swagger-php的良好示例,请参见。

    php-crud-api:将REST API添加到SQL数据库的单文件PHP脚本

    PHP-CRUD-API 将REST API添加到MySQL / MariaDB,PostgreSQL,SQL Server或SQLite数据库的单文件PHP脚本。 注意:这是PHP中的参考实现。 相关项目: :单个文件PHP脚本,它是PHP-CRUD-API的身份验证提供程序 :将...

    摇摆

    然后由api-docs导演下的swagger-ui提供文件。 安装 1-添加包装 执行composer require dagbouj-hatem/swaggervel --dev在laravel项目根目录中使用composer require dagbouj-hatem/swaggervel --dev 。 2-添加服务...

    LemonsJ:LemonsJ(柠檬精)- API接口文档工具,支持Postman、Swagger上传

    LemonsJ(柠檬J)- API接口文档工具,支持Postman、Swagger上传 环境依赖 laravel 7.0 php 7.2.10 安装 参照 Laravel框架 安装 根目录 lemonsj.sql 功能介绍 可编辑文档类型:表格文档、markdown文档、富文本(html...

    毕设&课设&项目&实训-GinLaravel基于Golang的框架Gin开发.zip

    现支持:MySQL、Redis、MVC、拦截器、助手函数、fresh热更、swagger-UI、tpl模版输出、安全的Api。MIT。所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行...

    apigee-api-catalog-drupal:使用Drupal的内容管理方法管理您的API目录

    适用于Drupal的Apigee API目录 将OpenAPI规范作为文档提供给您的API开发人员。 概述 启用此模块后,它将创建一个名为“ API Doc”的新内容... 要使用Swagger UI呈现OpenAPI规范,请执行以下操作: 安装并启用模块。

    scribe:从您的Laravel代码库中为人类生成API文档。

    :waving_hand: Scribe可以帮助您自动生成文档,但是如果您真的想制作友好,可维护和可测试的API文档,则还需要了解一些其他信息。 所以我为你做。 :hugging_face: 特征 漂亮HTML文档页面,包括随附的代码示例和友好...

    openapi3-generator:OpenAPI 3的生成器

    我为什么做这个项目我正在使用此库在PHP中开发一个项目。它具有使用类/方法的文档字符串中的注释来描述API的能力(您可以找到编程语言的替代项目,其背后的想法是在代码附近描述API的定义:路由,路径,视图等)。...

    symfony-5-es-cqrs-boilerplate:Symfony 5 DDD ES CQRS后端样板

    使用Symfony作为框架并与php7一起运行的DDD,CQRS,事件源应用程序的样板 Symfony 仍然可以使用文献资料建筑实作 Docker中的环境 Symfony Messenger 活动商店 读取模型 异步事件订阅者 REST API Web UI(糟糕的UX / ...

    springCloud

    一 服务启动 此项目集成了:Feign,Spring Cloud Bus,hystrix,swagger-ui,zuul-filter,配置中心功能 1)安装rabbitMQ 2)启动cloud—eureka :此时可访问 localhost:8761 3)启动 cloud-config 此处为配置中心 ...

Global site tag (gtag.js) - Google Analytics