Скрыть маршрут в платформе doc api - PullRequest
0 голосов
/ 09 января 2019

Я реализую API с платформой API под Symfony4, и я пытаюсь скрыть сущность в документе, которая доступна только для ROLE_ADMIN удара, не представляющего интереса, чтобы быть видимым в документе. Вот сущность, которую я хочу скрыть:

<?php

namespace App\Entity;

use ApiPlatform\Core\Annotation\ApiResource;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;

/**
 * @ApiResource(
 *     attributes={"access_control"="is_granted('ROLE_ADMIN')"}
 * )
 * @ORM\Entity(repositoryClass="App\Repository\OrderStatusRepository")
 */
class OrderStatus
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups("orderGET")
     */
    private $label;

    /**
     * @return int|null
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return null|string
     */
    public function getLabel(): ?string
    {
        return $this->label;
    }

    /**
     * @param string $label
     * @return OrderStatus
     */
    public function setLabel(string $label): self
    {
        $this->label = $label;

        return $this;
    }
}

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 24 января 2019

Это не поддерживается "из коробки" (но было бы неплохо). Что вы можете сделать, это украсить пути от DocumentationNormalizer до unset(), которые вы не хотите видеть в документации OpenAPI.

Дополнительная информация: https://api -platform.com / docs / core / swagger / # overriding-the-openapi-спецификация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...