yaleksandr89
@yaleksandr89
PHP developer

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

Приветствую.

Ситуация в следующем. Обновил api-platform/core до последней 3 версии и не могу исправить аннотацию (версии 2) на атрибуты (версии 3).

Вот аннотация для второй версии:
/**
 * @ApiResource(
 *     collectionOperations={
 *       "get"={
 *          "normalization_context"={"groups"="order:list"}
 *       },
 *       "post"={
 *          "security"="is_granted('ROLE_USER')",
 *          "normalization_context"={"groups"="order:list:write"}
 *       }
 *     },
 *     itemOperations={
 *       "get"={
 *          "normalization_context"={"groups"="order:item"}
 *       },
 *     },
 * )
 */

Почитав доку для третьей версии, частично перевел аннотацию на атрибуты, получилось:
#[ApiResource(
    operations: [
        new Get(
            normalizationContext: ['groups' => 'order:list']
        ),
        new Post(
            normalizationContext: ['groups' => 'order:list:write'],
            security: ["is_granted('ROLE_USER')"]
        )
    ],
)]

Но вот как перевести вот этот участок:
*     itemOperations={
 *       "get"={
 *          "normalization_context"={"groups"="order:item"}
 *       },
 *     },

Ума не приложу :( Кто сталкивался с подобным вопросом? Подскажите.
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
Сам ещё не ставил третью версию, но одним глазом посмотрел документацию, и вроде как они тупо по названию классов в аргументе options ориентируются. В принципе, это логично, если подумать. Но не очевидно.
#[ApiResource(
    operations: [
        new Get(), // item
        new Put(), // item
        new Patch(), // item
        new Delete(), // item
        new GetCollection(), // collection
        new Post() // collection
    ],
)]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы