【问题标题】:Consolidation of annotations合并注释
【发布时间】:2018-03-01 10:56:43
【问题描述】:

是否可以合并这两个注释,以便我在一个地方编写它?

use Swagger\Annotations as SWG;
use FOS\RestBundle\Controller\Annotations\RequestParam;

/**
 * @SWG\Parameter(
 *     name="user_id",
 *     in="query",
 *     type="string",
 *     description="User Id"
 * )
 * @RequestParam(name="user_id", requirements="\d+", description="User Id")
 */

【问题讨论】:

标签: php symfony fosrestbundle nelmioapidocbundle


【解决方案1】:

恐怕没有简单的方法。

通过Doctrine AnnotationReader读取注释,直接使用PHP ReflectionMethod(或类似)。

据我所知,没有办法改变类/方法/属性反射。我看到的唯一方法是重写AnnotationReader 来处理一些“分组”注释定义,但这听起来需要做很多工作。

【讨论】:

  • 另一种方法是创建自定义注释
  • 创建自己的注释的问题是如何将正确的配置注入到 Swagger 和 FOS Rest 包中。 FOS Rest 包直接读取注释(参见github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Request/…),没有您可以操作的“中间”配置对象。
  • @Roman Newaza,我意识到Nelmio Api Doc bundle 可以从 FOS Rest 捆绑注释中读取查询参数要求。这可能会对您的用例有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-28
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
相关资源
最近更新 更多