我試圖按照指南中所述實現Yii2 RESTful Web服務API。我正在嘗試使用高級應用程序模板。問題很簡單,當我嘗試訪問服務時,我得到的所有404錯誤都是錯誤的。我想開始嘗試一些簡單的東西,所以我只是想使用國家表和相關的ActiveRecord類來試用它,代碼如下:如何解決Yii2 RESTful Web服務API路由錯誤?
這是在frontend/config/main.php中的組件配置中:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'country'],
],
],
'request' => [
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
]
這是在前端/控制器代碼/ CountryController.php:
我的ActiveRecord模型,如國家的namespace frontend\controllers;
use yii\rest\ActiveController;
class CountryController extends ActiveController
{
public $modelClass = 'common\models\Country';
}
全部都是常見/模型。
我用下面來試試吧:
curl -i -H "Accept:application/json" "http://myfrontendapp.loc/country"
這是輸出我得到:
HTTP/1.1 404 Not Found
Date: Fri, 31 Oct 2014 22:46:50 GMT
Server: Apache
Content-Length: 205
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /country was not found on this server.</p>
</body></html>
我已經在這個花了很多時間。我已經調整了設置,閱讀文檔,並且沒有任何成功。如果有人可以看到問題是什麼,請讓我知道,謝謝!
我嘗試了基本的應用程序模板,並沒有任何問題。如果有人知道如何使用高級應用程序模板來做到這一點,請告訴我。 – dataskills 2014-11-07 19:05:16