2017-04-07 150 views
-1

我正在通過用戶ID創建用於通過YII2用戶API獲取用戶的API。如果我傳遞用戶ID,那麼它工作良好,但如果我傳遞字符串,然後我得到以下錯誤。Yii2 REST API無法正常工作

<pre>An Error occurred while handling another error: 
yii\base\InvalidParamException: Response content must not be an array. in /var/www/html/vendor/yiisoft/yii2/web/Response.php:1020 
Stack trace: 
#0 /var/www/html/vendor/yiisoft/yii2/web/Response.php(313): yii\web\Response-&gt;prepare() 
#1 /var/www/html/vendor/yiisoft/yii2/web/ErrorHandler.php(128): yii\web\Response-&gt;send() 
#2 /var/www/html/vendor/yiisoft/yii2/base/ErrorHandler.php(111): yii\web\ErrorHandler-&gt;renderException(Object(yii\web\NotFoundHttpException)) 
#3 [internal function]: yii\base\ErrorHandler-&gt;handleException(Object(yii\web\NotFoundHttpException)) 
#4 {main} 
Previous exception: 
yii\base\InvalidRouteException: Unable to resolve the request: categories/wewqewqe in /var/www/html/vendor/yiisoft/yii2/base/Controller.php:127 
Stack trace: 
#0 /var/www/html/vendor/yiisoft/yii2/base/Module.php(523): yii\base\Controller-&gt;runAction(&#039;wewqewqe&#039;, Array) 
#1 /var/www/html/vendor/yiisoft/yii2/web/Application.php(102): yii\base\Module-&gt;runAction(&#039;categories/wewq...&#039;, Array) 
#2 /var/www/html/vendor/yiisoft/yii2/base/Application.php(380): yii\web\Application-&gt;handleRequest(Object(yii\web\Request)) 
#3 /var/www/html/index.php(16): yii\base\Application-&gt;run() 
#4 {main} 

Next yii\web\NotFoundHttpException: Page not found. in /var/www/html/vendor/yiisoft/yii2/web/Application.php:114 
Stack trace: 
#0 /var/www/html/vendor/yiisoft/yii2/base/Application.php(380): yii\web\Application-&gt;handleRequest(Object(yii\web\Request)) 
#1 /var/www/html/index.php(16): yii\base\Application-&gt;run() 
#2 {main}</pre> 

我使用swagger執行API和端點的API是進入

/users/1 

出現錯誤時

users/{id} 

做工精細當

/users/asdf 

Web.php

'users/<id:\d+>' => 'users/', 
+0

顯示你的路由網址是什麼? – urfusion

+0

請檢查更新問題。 –

回答

2

我最近面臨着同樣的問題,它已經被改變在config文件夾中web.php路由解決。

更改您的網址 users/<id>而不是users/<id:\d+>.