你只要把又名註解註釋你的代碼,型號例如:
/**
* @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
然後鏈接生成的文件Swagger 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具有相當不錯的規格on GitHub
BTW,考慮使用Swagger Editor創建API規範文件(JSON/YAML)使用在Swagger UI中。導致php文件中的內聯SWG文檔很醜,並且您在IDE中沒有自動完成支持。
嗨,你能提供更多細節嗎?就像你遇到了什麼錯誤。這會有所幫助。 – 2013-10-09 06:34:18