扬鞭-PHP产生JSON文件扬鞭的UI(Swagger-PHP for generating JSO

2019-09-01 21:21发布

我试图用扬鞭,PHP产生JSON文件,这样我就可以用扬鞭的UI使用它的自动文档。

我试图链接: - https://github.com/zircote/swagger-php

我也尝试过与有文档,以解决http://zircote.com/swagger-php/installation.html

但我倒霉,我无法实现它。

我能够正确安装作曲家。 此外扬鞭-PHP束是否正确安装。

但问题是,我无法使用/理解他们所提供的测试实例。

因此,如果任何人有工作围绕它请帮助!

提前致谢 !!

Answer 1:

你只要把又名注解注释你的代码,型号例如:

/**
* @SWG\Model(
* id="vps",
* required="['type', 'hostname']",
*  @SWG\Property(name="hostname", type="string"),
*  @SWG\Property(name="label", type="string"),
*  @SWG\Property(name="type", type="string", enum="['vps', 'dedicated']")
* )
*/
class HostVps extends Host implements ResourceInterface
{
    // ...
}

控制器例如:

/**
 * @SWG\Resource(
 *  basePath="http://skyapi.dev",
 *  resourcePath="/vps",
 *  @SWG\Api(
 *   path="/vps",
 *   @SWG\Operation(
 *    method="GET",
 *    type="array",
 *    summary="Fetch vps lists",
 *    nickname="vps/index",
 *    @SWG\Parameter(
 *     name="expand",
 *     description="Models to expand",
 *     paramType="query",
 *     type="string",
 *     defaultValue="vps,os_template"
 *    )
 *   )
 *  )
 * )
 */
 class VpsController extends Controller
 {
     // ...
 }

然后,在控制台:

php swagger.phar ./your-code-source/ -o ./directory-for-output-files

然后链接扬鞭UI生成的文件。 这是帮助吗?

顺便说一句,这个文档: http://zircote.com/swagger-php/annotations.html是不完整的。 这是更好地依靠分析器错误,例如:

php swagger.phar ./skynode-api/api/ -o ./foo
Swagger-PHP 0.9.0
-----------------
[INFO] Skipping unsupported property: "foo" for @Swagger\Annotations\Property, expecting "name", "description", "type", "format", "items", "uniqueItems", "required", "minimum", "maximum", "enum", "defaultValue", "_partialId", "_partials" in HostVps in /home/kane/some-dir/some-file.php on line 3

编辑 :扬鞭2.0具有相当不错的规范GitHub上

顺便说一句,考虑使用扬鞭编辑器创建API规范文件(JSON / YAML)在扬鞭UI使用。 在PHP文件导致直列SWG文件只是丑陋,你不必在IDE自动完成的支持。



Answer 2:

我最近在努力在这一个,看到一些差异,并设法得到它的工作,并希望或许快捷别人:

// In the controller

/**
 * (other swagger stuff like @SWG\Put, etc...)
 *   @SWG\Parameter(name="type",in="path",description="project|task",
 *                  required=true, type="array",             
 *                  @SWG\Items(type="string"), 
 *                  default="project",
 *                  enum={"project", "task"}),
 * (next @SWG\Parameter or closing paran, etc)
 */

我以前得到这个与模型和@SWG \项目引用它枚举的工作,但没有保存代码(我只是插科打诨),我不能拿回来。 我甚至看到我以前upvoted的问题和接受的答案! 但上面的是我能得到它现在的工作,是聊胜于无的唯一途径。



文章来源: Swagger-PHP for generating JSON file for Swagger-UI