-
我为PUT请求创建了magento 2 rest api端点,它总是返回">类别。。不存在";。
-
PUT请求中有两个参数:
-
path参数:id,PUT请求正文中的json字符串:data
示例接口:
/**
* @param int $id
* @param mixed $data
* @return string
*/
public function create($id, $data);
型号:
public function create($id, $data) {...}
webapi.xml:
<route url=".../:id/create" method="PUT">
<service class=".../ExampleInterface" method="create"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
Inerface和模型连接在一起,一切都很好我有相同的端点,就像那个接收相同参数的端点一样,但使用了POST方法,它运行良好。当我把它改为PUT时,第二个参数总是会引起问题,即使接口和方法中的一切都是正确和相同的。
重要信息:如果我删除这两个参数中的一个(路径参数或PUT请求正文中的那个(,那么它就可以正常工作。但当正文中有路径参数和json字符串的组合时,总是第二个会导致错误。
我认为它不喜欢'@param mixed$data'。
尝试"@param string[]$data"或"@param-mixed[]$data'