Какой аналог itemOperations в api-platform 3 версии?

В версии 3 API Platform был заменен на Symfony, что повлекло за собой изменения в структуре и функционале бандла API Platform. Для реализации подобного поведения, как itemOperations в предыдущих версиях, в API Platform 3 версии можно использовать аннотации Symfony.

Для добавления кастомных действий к объектам коллекции можно воспользоваться аннотацией @Route для методов контроллера. Например, для создания действия customAction для объекта SomeEntity, необходимо создать метод в контроллере:

use SymfonyComponentRoutingAnnotationRoute;

class SomeEntityController
{
    /**
     * @Route("/api/some_entities/{id}/custom_action", name="custom_action", methods={"POST"})
     */
    public function customAction($id)
    {
        // Ваш код для выполнения действия
    }
}

Таким образом, при отправке POST-запроса на /api/some_entities/{id}/custom_action, будет выполнен метод customAction контроллера SomeEntityController.

Однако, важно помнить, что в таком подходе отсутствует встроенная поддержка Swagger/OpenAPI документации для кастомных операций, которая была доступна в предыдущих версиях через аннотации API Platform. Теперь придется вручную документировать кастомные действия.

Таким образом, в версии 3 API Platform аналогом itemOperations может служить создание кастомных методов в контроллере с использованием аннотации Symfony @Route.