我正在使用Fos RestBundle来帮助我为Rest API资源实现一些注释,
我真的不喜欢应该在函数上方定义的大量批注……我正在使用query param fetcher
来获取诸如query
和category
之类的数据...
知道如何创建一个Symfony注释,其中包括@FOSRest\QueryParam
注释的孔块。
最终,新的解决方案将帮助我减少代码,分离代码并将其去耦。
这是我的功能:
/**
* @param ParamFetcherInterface $paramFetcher
*
* @return int[]
*
* @FOSRest\QueryParam(name="query")
* @FOSRest\QueryParam(name="articleReference", requirements="\d+")
* @FOSRest\QueryParam(name="category", requirements="\d+")
* @FOSRest\QueryParam(name="memberCategory", requirements="\d+")
* @FOSRest\QueryParam(name="supplier", requirements="\d+", nullable=true)
* @FOSRest\QueryParam(name="published", requirements="(0|1)", nullable=true)
* @FOSRest\QueryParam(name="withoutCoefficient", requirements="(0|1)", nullable=true)
* @FOSRest\QueryParam(name="zipCode", requirements="\d+", nullable=true)
* @FOSRest\QueryParam(name="memberCategoryStrict", default=0, requirements="(0|1)")
* @FOSRest\QueryParam(name="orphan", requirements="(0|1)", nullable=true)
* @FOSRest\QueryParam(name="articleType", requirements="article|catalog", nullable=true)
* @FOSRest\QueryParam(name="withImage", requirements="0|1", nullable=true)
* @FOSRest\QueryParam(name="withTechnicalSheet", requirements="0|1", nullable=true)
*
*/
public function getArticlesStatsAction(ParamFetcherInterface $paramFetcher)
{
//
}
我想实现一个名为@GetArticlesStats()
的注释,例如。最终结果应如下所示:
/**
* @param ParamFetcherInterface $paramFetcher
*
* @return int[]
*
* @GetArticlesStats()
*
*/
public function getArticlesStatsAction(ParamFetcherInterface $paramFetcher)
{
//
}
任何想法都会受到赞赏。谢谢。