Как определить параметр api doc, собранный автоматически? - PullRequest
0 голосов
/ 20 февраля 2019

Я использую пакет Nelmio ApiDoc для документирования REST Api (управляется с помощью пакета FOS REST).Внутри, т. Е. Определено действие get класса ArticleController, например:

/**
 * 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 doc определяет, что articleId - это параметр, который принимает это действие, и отображает его как обязательный строковый параметр.

Но проблема в том, что... это не строка, а целое число.Как я могу точно определить тип этого параметра?Я также хотел бы добавить описание этого параметра?Как я могу это сделать?

С помощью QueryParam я могу определить новый параметр, и он появляется, но я не хочу новый, но каким-то образом переопределяю тот, который автоматически обнаруживается пакетом.

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

Так что-то вроде этого работает, но отображается как дополнительный параметр, и мне это не нужно.

...