Yii2 rest api - Url manager 添加参数
Yii2 rest api - Url manager add parameters
我正在开发具有 4 个用户级别的 api。管理员、经销商、渠道和客户。所有级别的通话费率都存储在各自的 _rate 表中。
管理员可以查看所有用户级别的费率,经销商可以查看他们自己的费率和他们所有的渠道和客户,渠道本身和他们的客户等。
因此,当经销商解雇时:
api.dev/v1/call-rates
tbl_reseller_rate 返回但是我希望能够指定我想查看的费率
api.dev/v1/call-rates/channels
或
api.dev/v1/call-rates/customers
所以我可以做类似的事情:
if (strpos($url,'channels') !== false)
{
flip to channel model;
} else if (strpos($url,'customers') !== false)
{
flip to customer model;
}
另一个要求是单独查看记录,因此 url 需要像这样接受 ID 参数:
api.dev/v1/call-rates/channel/1
如有任何帮助,我们将不胜感激。提前致谢
您应该像这样配置您的 REST Url:
[
'POST v1/call-rates/<type>' => 'your_controller/call_rates',
'POST v1/call-rates/<type>/<id>' => 'your_controller/call_rates',
]
并在您的控制器文件中
public function call_rates($type, $id = null){
if(!in_array($type, ['customer','channels'])) {
// throw bad request exception here
}
// Do what ever you want with $type variable.
}
对于 ID
路由,您可以更改它的方法,仅作为示例,我已将其路由到控制器中的相同方法。
上查看更多
我正在开发具有 4 个用户级别的 api。管理员、经销商、渠道和客户。所有级别的通话费率都存储在各自的 _rate 表中。
管理员可以查看所有用户级别的费率,经销商可以查看他们自己的费率和他们所有的渠道和客户,渠道本身和他们的客户等。
因此,当经销商解雇时:
api.dev/v1/call-rates
tbl_reseller_rate 返回但是我希望能够指定我想查看的费率
api.dev/v1/call-rates/channels
或
api.dev/v1/call-rates/customers
所以我可以做类似的事情:
if (strpos($url,'channels') !== false)
{
flip to channel model;
} else if (strpos($url,'customers') !== false)
{
flip to customer model;
}
另一个要求是单独查看记录,因此 url 需要像这样接受 ID 参数:
api.dev/v1/call-rates/channel/1
如有任何帮助,我们将不胜感激。提前致谢
您应该像这样配置您的 REST Url:
[
'POST v1/call-rates/<type>' => 'your_controller/call_rates',
'POST v1/call-rates/<type>/<id>' => 'your_controller/call_rates',
]
并在您的控制器文件中
public function call_rates($type, $id = null){
if(!in_array($type, ['customer','channels'])) {
// throw bad request exception here
}
// Do what ever you want with $type variable.
}
对于 ID
路由,您可以更改它的方法,仅作为示例,我已将其路由到控制器中的相同方法。