【发布时间】:2014-02-06 17:14:10
【问题描述】:
我正在为我们构建的 API 实现 Swagger-PHP。
这里是一个简短的回顾:
语言:PHP5.3
框架:FuelPHP 1.5.3
环境:本地(使用 Nginx 服务)
现在我有一个 API 方法定义如下:
/**
* @SWG\Api(
* path="/site/list",
* description="Get sites list",
* @SWG\Operation(...,
* @SWG\Parameter(...),
* @SWG\ResponseMessage(...),
* @SWG\ResponseMessage(...)
* )
* )
*/
public function action_run()
{
//doing stuff
}
我现在尝试以下方法(从我的应用程序的其他地方)生成 JSON:
$swagger = new Swagger\Swagger('my/root/dir');
$swagger->getResource('/site/list', array('output' => 'json'));
这里的第一行(实例化我的 Swagger 类时)给我一个错误:
ErrorException [用户警告]:[语义错误]类 “包”没有用@Annotation 注释。你确定这门课 可以用作注解吗?如果是这样,那么您需要将@Annotation 添加到 “包”的 class 文档注释。如果确实没有注释, 那么您需要将 @IgnoreAnnotation("package") 添加到 class 文档中 @Swagger\Annotations\Api 类的注释。
添加@IgnoreAnnotation("package") 实际上没有帮助。
我注意到如果我从这里删除 @package,错误就会消失:
https://github.com/zircote/swagger-php/blob/master/library/Swagger/Annotations/Api.php#L28
但这不是解决方案。
我猜这主要与教义有关,但我似乎无法弄清楚。
感谢您提供有关此问题的任何提示或想法。
【问题讨论】:
标签: php doctrine-orm swagger swagger-php