我正在为我们构建的 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 添加到“包”的类文档注释中。如果确实是没有注解,那么需要在@Swagger\Annotations\Api 类的类文档注释中添加@IgnoreAnnotation("package")。
添加@IgnoreAnnotation("package")
实际上没有帮助。
我注意到如果我@package
从这里删除,错误就会消失:
https://github.com/zircote/swagger-php/blob/master/library/Swagger/Annotations/Api.php#L28
但这不是解决方案。
我猜这主要与教义有关,但我似乎无法弄清楚。
感谢您提供有关此问题的任何提示或想法。