2016-06-28 4 views
1

yii 나머지 API에 문제가 있습니다. 나는 yii 프레임 워크 페이지에서 자습서를 따라 작동하도록 구성했지만, 그 후에는 내 API가 작동한다는 것을 알았지 만 나머지 PII는 PATH가 아닌 나머지 GI URL 형식을 기반으로하므로 내 PAGE는 큰 페이지가 아닙니다. . yii 나머지 API를 기본 URL로 사용 GET 형식이 아닌 PATH 형식

그래서 내 설정/main.php에서 나는

'urlManager' => array (
         'urlFormat' => 'path', 
         'rules' => array (
           'student/<id:\d+>/<title:.*?>' => 'student/view', 
           'students/<tag:.*?>' => 'student/index', 

           array (
             'apistudent/register', 
             'pattern' => 'api/<model:\w+>', 
             'verb' => 'POST' 
           ), 

           '<controller:\w+>/<action:\w+>' => '<controller>/<action>' 
         ) 
       ), 

가 나는 또한 컨트롤러가 actionRegister()라는 방법 ApiStudentController 이름이 다음 설정해야합니다.

이미 api는 정상적으로 작동하지만 내 페이지는 urlFormat을 '경로'로 설정했기 때문에 작동하지 않습니다.

질문은 ... 어떻게 나머지는 PATH URL 형식이 아니라 오히려 기본 URL 형식 (index.php? r = apistudent/register)없이 사용할 수 있습니까?

+0

안녕하세요, 해결책이 있습니까? –

답변

0

나는 yii 1.x에서도 같은 문제에 직면 해있다. PATH 형식이 아닌 이전 GET 형식으로 내 API 컨트롤러 만 있으면됩니다 (PATH 형식으로 내 웹 사이트 URL을 변경했기 때문에). 마지막으로 나는 스크립트 파일의 작은 해킹으로 작업했다.

$app = Yii::createWebApplication($env->configWeb); //store the app 
//Change the UrlFormat for urlManager to get if a get request is given instead of a path format one. 
if (isset($_GET['r'])) { 
    Yii::app()->urlManager->setUrlFormat('get'); 
} 
$app->run(); //run the app 

나는 이것이 당신의 문제를 해결하는지 모른다. 그러나 이것은 당신에게 아이디어를 줄 수 있습니다. 해피 코딩!