【发布时间】:2022-01-27 17:18:43
【问题描述】:
-
我为 PUT 请求创建了 magento 2 rest api 端点,它总是返回“Class .. does not exist”。
-
PUT 请求中有 2 个参数:
-
路径参数: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>
界面和模型已连接,一切都很好。 我的端点与接收相同参数的端点相同,但使用了 POST 方法并且工作正常。当我将其更改为 PUT 时,即使接口和方法中的所有内容都是正确且相同的,第二个参数总是会导致问题。
重要提示:如果我删除这两个参数之一(路径参数或 PUT 请求正文中的参数),则它可以正常工作。但是当body中存在path参数和json字符串的组合时,总是第二个导致错误。
【问题讨论】: