Мой сервис (консольная команда) получает строки IRI в качестве аргументов (у меня есть это требование, вместо использования идентификаторов, что было бы намного проще).Поэтому я внедрил IriConverter ApiPlatform в свой сервис, но когда я вызываю его метод getItemFromIri, я получаю эту ошибку:
Хранилище токенов не содержит токена аутентификации.Одной из возможных причин может быть то, что для этого URL не настроен брандмауэр.
My Service:
use ApiPlatform\Core\Api\IriConverterInterface;
....
$context= []; // don't know what to include here
$iri= '/api/v4/files/448';
$file = $this->iriConverter->getItemFromIri($iri, $context);
My security.yml
firewalls:
apiV4:
pattern: ^/api/v4
stateless: true
fos_oauth: true
MyКласс
/**
* File
* @ApiResource(
* attributes={
* "normalization_context"={"groups"={"fileUpload"}}
* },
* collectionOperations = {
* "get",
* "post" ={
* "method"="POST",
* "path"="/files",
* "controller"= UploadFileAction::class,
* "defaults"={"_api_receive"=false},
* }
* }
* )
*
* @ORM\Table(name="UploadedFile")
*
*/
class File
{
/**
* @var int
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Groups({"fileUpload"})
*/
private $id;
/**
* @var string
* @Assert\NotBlank
* @ORM\Column(name="name", type="string", length=255)
* @Groups({"fileUpload"})
*/
private $name;
....