我想为我的自定义api设置两个端点
magento.com/coupondemo/generate
)magento.com//coupondemo/rules/:rule_id/codes
)我已经跟随Magento中的this教程和优惠券代码,我的代码也可以在Magento中创建规则。但是,我不知道如何在我的自定义rest api中创建两个端点,因为我只能创建一个端点。
我在api2.xml中有以下路由
<routes>
<route_collection>
<route>/coupondemo/generate</route>
<action_type>entity</action_type>
</route_collection>
<route_collection>
<route>/coupondemo/rules/:rule_id/codes</route>
<action_type>collection</action_type>
</route_collection>
</routes>
我的v1.php的骨架如下
<?php
/* Coupon AutoGen REST API
*
* @category CouponDemo
* @package CouponDemo_AutoGen
* @author Chuck Hudson (used with permission). For more recipes, see Chuck's book http://shop.oreilly.com/product/0636920023968.do
*/
class CouponDemo_AutoGen_Model_Api2_Coupon_Rest_Admin_V1 extends CouponDemo_AutoGen_Model_Api2_Coupon
{
/**
* Generate one or more coupon codes using the Generate Coupons rule defined in Magento.
* Expected parameters are:
* {
* 'qty': int, - number of coupon codes to instruct Magento to generate
* 'length': int, - length of each generated coupon code
* 'format': string, - alphanum (for alphanumeric codes), alpha (for alphabetical codes), and num (for numeric codes)
* }
*
* @param array $couponData
* @return string|void
*/
protected function _create($couponData)
{
}
protected function _retrieveCollection()
{
}
protected function _retrieve($couponDatas)
{
}
}
问题是这两个路由都调用了v1.php中的_create方法。我希望第一个路由调用一个自定义方法,并将数组作为参数。那我怎么能这样做呢?
我尝试使用此路线
<!-- Call For V1.php _retrieve() -->
<route_entity_count>
<route>/coupondemo/generate</route>
<action_type>entity</action_type>
</route_entity_count>
调用_retrieve方法,但它不允许传入参数。 那我该如何处理第一条路线?