yii\rest\UrlRule
을 확장 할 필요가 없습니다. 단지 UrlManager
경로에 규칙을 추가하면 extraPatterns
속성이 yii\rest\UrlRule
이됩니다. 예를 들어
당신은 컨트롤러에 list
조치를 정의한다고 가정
class BarController extends Controller
{
public $modelClass = 'app\models\Foo';
public function actionList()
{
return ['id' => 1];
}
}
그런 다음 구성 파일에 추가 경로를 추가 :
<?php
// some configs are here
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'v1/bar',
],
'extraPatterns' => [
'GET list' => 'list',
],
],
],
],
// and some other configs are here
지금 당신이 /v1/bars/list
와 API를 찾아 볼 수 있습니다. 더 많은 예제는 Yii2 Documentations을 참조하십시오.
내 경우에는 작동하지 않습니다. 사실, 난 그냥 휴식과 같은 내 URL을 아름답게하고 출력을 나타 내기 위해 ActiveController 대신 일반 컨트롤러를 사용하고 싶습니다. –
무엇이 문제입니까? 'ActiveController'는'Controller'에서 확장되어 모든 부모 동작을 갖습니다. – meysam