Passing Array in REST Api Magento2 (Post Method)
-
03-10-2020 - |
Question
I have created many rest Api in magento2 which working perfectly... I have only problem to pass the array in custom rest api... for example I am passing the data in below format from postman.
{"vendor_data":{"name":"Mujassam", "mobile":7777}}
It gives me below error:
"message": "Class array does not exist", "code": -1,
Api interface is as below,
/**
* return placed order status
* @api
* @param array[] $vendor_data
* @return array
*/
public function createVendor($vendor_data);
EDIT: tried this but no luck
How to handle multi level array as input parameter from custom POST webservice in Magento2
Solution
Magento 2 do not support mixed like array. You can use KayValue[] or string[] but do not array[]
see http://devdocs.magento.com/guides/v2.1/extension-dev-guide/service-contracts/service-to-web-service.html for more details
OTHER TIPS
I also faced the same issue and got it fixed.Try this,
/**
* return placed order status
* @api
* @param mixed $vendor_data
* @return array
*/
public function createVendor($vendor_data);
Type mixed is available from version 2.2 onwards. @saravanavelu's answer won't work in versions before that.
See docs: docs