yii2 的 restful 接口的默認(rèn) 幫我們實現(xiàn)了 curd,可是我要怎么添加自定義方法呢,下面以添加一個 搜索方法為例介紹.
1 打開 NewsController,添加 actionSearch 方法
<?php
namespace api\modules\v1\controllers;
use api\models\News;
class NewsController extends \yii\rest\ActiveController
{
public $modelClass = 'api\models\News';
public function actionSearch($keyword){
if(!$keyword){
return null;
}
$models = News::find()->where(['like', 'title', $keyword])->all();
return $models;
}
}
2 訪問搜索方法
URL : http://api.baojia.local/v1/news/search/111
納尼? 找不到方法?
2017-08-22 19-10-43 的屏幕截圖.png
3 修改 urlMangager,增加一條 rule
<?php
return [
......
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => 'v1/news',
'extraPatterns' => [
'GET search/<keyword>' => 'search',
]
],
],
......
];
2017-08-22 19-05-04 的屏幕截圖.png
收工!!!