Magento 2自定义rest api,我无法在模态存储库中获取数组,
如何将数组作为参数传递?
Webapi.xml
<route method="POST" url="/V1/topmarkens/productlists">
<service class="Meridian\TopMarken\Api\TopMarkenRepositoryInterface"
method="productFilterByBrand"/>
<resources>
<resource ref="anonymous"/>
</resources>
<data>
<parameter name="types" force="true">%types%</parameter>
</data>
</route>
TopMarkenRepositoryInterface.php
/**
* return placed order status
* @param string[] $types
* @return \Meridian\TopMarken\Api\Data\TopMarkenInterface
*/
public function productFilterByBrand($types);
TopMarkenRepository.php
public function productFilterByBrand($types){
$vendor_data = json_decode($types);
echo "<pre>"; print_r($vendor_data); die;
return $vendor_data;
}
答案 0 :(得分:0)
直接发送数组作为参数不是执行POST请求的好方法。我建议您发送一个json对象,您可以在其中将数组作为对象的第一个元素。
答案 1 :(得分:0)
我有这个json:
{
"customerEmail":"myFancyEmail@gmail.com",
"items": [
{"sku":"sku-1", "qty":"1"},
{"sku":"sku-2", "qty":"2"}
]
}
这是我的界面:
interface OrderInterface
{
/**
* @param string $customerEmail
* @param mixed $items
* @return bool
* @api
*/
public function create(string $customerEmail, $items) : bool;
}
使用string[]
或array
或mixed[]
并不适合我。仅mixed