cancel
Showing results for 
Search instead for 
Did you mean: 

Как правильно использовать swagger client?

Как правильно использовать swagger client?

Решил опять попробовать 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);

 

Подскажите что делаю не так.