如何定义自动收集的参数api文档?

时间:2019-02-20 14:08:55

标签: rest api documentation symfony4

我正在使用Nelmio ApiDoc捆绑包来记录REST Api(由FOS REST捆绑包管理)。在内部,即一些ArticleController类的get操作定义如下:

/**
 * Retrieves an Article resource
 * @Rest\Get("/articles/{articleId}")
 * @Rest\View(
 *  serializerGroups={
 *    "rest",
 *  },
 *  statusCode=Response::HTTP_OK
 * )
 * @Operation(
 *     tags={"Article"},
 *     summary="Get single Article",
 *     @SWG\Response(response="200", description="Returned when successful"),
 *     @SWG\Response(response="400",description="Returned when the data is missing or data is not correct"),
 *     @SWG\Response(response="500",description="Returned when server side error occurred")
 * )
 */
public function getArticle(int $articleId): View
{
    $article = $this->getObjectById(Article::class, $articleId);
    if (!$article) {
        throw new EntityNotFoundException('Article with id '.$articleId.' does not exist!');
    }
    return View::create($article, Response::HTTP_OK);
}

Api文档捆绑软件确定articleId是此操作接受的参数,并将其显示为必需的字符串参数。

但是问题是...那不是字符串,而是整数。如何精确定义此参数的类型?我也想添加此参数的说明?我该怎么办?

使用QueryParam,我可以定义一个新参数并显示它,但我不想使用新参数,而是以某种方式覆盖由bundle自动检测到的参数。

 * @Rest\QueryParam(
 *      name="brand",
 *      requirements="[\d]+",
 *      description="Brand Id."
 * )

所以像这样的东西行得通,但是它显示为附加参数,我不需要。

0 个答案:

没有答案