Symfony/validator 6.3 и swagger, введите массивPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Symfony/validator 6.3 и swagger, введите массив

Сообщение Anonymous »

Первый опыт работы с Symphony, существует собственный класс FavoriteItemDto
с конструкцией

Код: Выделить всё

public function __construct(
#[Groups(["delete"])]
#[Assert\NotBlank(groups: ['create', 'delete'])]
public readonly ?int $itemId = null,

#[Groups(["delete"])]
#[Assert\NotBlank(groups: ['create', 'delete'])]
#[Assert\Choice(callback: [Subsystem::class, 'values'], groups: ['create'])]
public readonly ?string $subsystem = null,

#[Assert\Type(type: 'integer', groups: ['create'])]
public readonly ?int $eventTypeId = null,

#[AssertType(type: 'array', groups: ['create'],)]
public readonly ?array $itemIds = null,
) {
}
Проблема с переменными itemIds, код работает но при попытке ввести свагер (/v1/account/doc) выдает ошибку
{ "errors":[{"errorCode":500,"errorCause":"Свойство \u0022App\Model\FavoriteItemDto::itemIds\u0022 представляет собой массив, но тип его элементов не указан. Это можно указать, используя тип string[] или @OA\\Property(type=\u0022array\u0022, @OA\\Items(type=\u0022string\u0022))."}]
если я правильно понял, то нужно явно указывать типы элементов массива, но я не понимаю как, объясните, помогите пожалуйста..
Я прочитал документацию и ничего не понял, все подобные вопросы изучил и тоже не понял, ткните меня пожалуйста в морду как кота...

Подробнее здесь: https://stackoverflow.com/questions/790 ... type-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»