Yii Rest api url管理器
我无法找到url管理器背后的逻辑。任何人都可以告诉我在Rest模式中调用的给定url。我的控制器中有太多使用单参数的get方法 这是我的原始url:localhost/project/api/event/getevent/event\u id/1 api是一个模块 事件是控制器 getevent是控制器操作名称 事件id为参数1 我想将其转换为Rest模式localhst/project/api/event/1 //更新的代码 所有产品均与同一型号相关Yii Rest api url管理器,api,url,yii,Api,Url,Yii,我无法找到url管理器背后的逻辑。任何人都可以告诉我在Rest模式中调用的给定url。我的控制器中有太多使用单参数的get方法 这是我的原始url:localhost/project/api/event/getevent/event\u id/1 api是一个模块 事件是控制器 getevent是控制器操作名称 事件id为参数1 我想将其转换为Rest模式localhst/project/api/event/1 //更新的代码 所有产品均与同一型号相关 //Search by Event
//Search by Event id
public function actionByEventId(){
$model->byEventId();
}
//Retrieve user's events by User id
public function actionByUserId()
{
$model->userEvents();
}
//Search for event by code
public function actionByEventcode()
{
$model->byEventCode();
}
添加此规则:
'api/<controller:\w+>/<action:\w+>/<id:\d+>' => 'api/<controller>/by<action>'
现在,如果您调用
localhst/project/api/event/eventid/1
Yii将调用event
中的actionByEventId
-控制器,其中$id
为1感谢您的回复。我用你的密码试过了。对于单一方法,其工作良好。我有多个动作和一个参数。在这里,我遇到了问题。无论什么来自api,它都作为ID。所以我不能调用多个操作。你能给我指点一下吗?@Kishore请在你的问题中再加一个例子,让我看看你的结构是什么样子的。@Kishore更新了主要帖子。在同一控制器中添加了3个功能和单GET perameter。。如何调用这些API..感谢您的回复。当我调用上面的url时,eventid和userdid将作为操作执行。获取错误,如无法解决此问题..此处没有操作名称。。像那样。但是这两个都是参数…@Kishore:你不能同时运行两个动作,你能添加你想如何调用它们吗?像localhst/project/api/event/1
和localhst/project/api/user/1
?不,我想要像这样的localhst/project/api/event/eventid/1和localhst/project/api/event/userid/1
public function actionByEventId($id) {
}
public function actionByUserId($id) {
}