Tôi đang cố gắng tạo tuyến đường api với các tham số đầu vào nhưng tôi không nhận được kết quả như mong đợi.
Đây là webapi.xml của tôi:
<?xml version="1.0"?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../app/code/Magento/Webapi/etc/webapi.xsd">
<route url="/V1/foo" method="POST" secure="true">
<service class="..\FooInterface"
method="getFooById"/>
<resources>
<resource ref="anonymous"/>
</resources>
<data>
<parameter name="id" force="true">%id%</parameter>
</data>
</route>
</routes>
Đây là giao diện của tôi:
interface FooInterface
{
/**
* Test function
*
* @api
* @param string $id
* @return string
*/
public function getFooById($id);
}
Và đây là lớp học:
class Foo implements FooInterface
{
/**
* {@inheritdoc}
*/
public function getFooById($id){
return $id;
}
}
Tôi đang bỏ qua tệp di.xml với tùy chọn. Bây giờ nếu tôi gọi tuyến đường đó bất cứ điều gì tôi làm tất cả tôi nhận lại được %id%
. Ngay cả khi tôi không đặt bất kỳ tham số nào, tôi nhận được thay vì lỗi hoặc điều gì đó.
Tôi làm gì sai ở đây?
Đây là cuộc gọi trong bưu điện:
Tôi đã thử:
- gửi yêu cầu nhận
- gửi yêu cầu nhận với tham số
/order?id=foo
- gửi yêu cầu bài
- gửi yêu cầu bài với dữ liệu mẫu
- gửi yêu cầu bài đăng với dữ liệu thô (như trong ảnh chụp màn hình)
Tất cả đều có cùng một kết quả -> %id%
Tôi đang sử dụng btw phiên bản cộng đồng.