Решил опять попробовать swagger client для php. Начал с того что сгенерировал клиент под себя. На этот раз все получилось: успешно создал несколько продуктов и все вроде работает хорошо.
Есть одна проблемка. Не понятно как упростить создание "контента". Например, для поиска нужно сделать несколько классов:
$searchCriteria = new \SpringImport\Swagger\Magento2\Client\Model\FrameworkSearchCriteriaInterface;
$filterGroup = new \SpringImport\Swagger\Magento2\Client\Model\FrameworkSearchFilterGroup;
$filter = new \SpringImport\Swagger\Magento2\Client\Model\FrameworkFilter;
$filterField = new \SpringImport\Swagger\Magento2\Client\...
С одной стороны, мне нравится когда ответ приходит полностью "в классах", т.е. не тупо массив данных. Но чтобы что-то передать на сервер нужно тоже строить иерархию классов, что не удобно.
Может я что-то упустил и есть более простой способ? Например:
$data = [
'filterGroups' => [
[
'filters' => [
[
'field' => 'field',
'value' => $value,
]
]
]
]
];
$searchCriteria = new \SpringImport\Swagger\Magento2\Client\Model\FrameworkSearchCriteriaInterface;
$searchCriteria->setDataFromSource($data);
Подскажите что делаю не так.