Yii2 REST API not working properly - php

I am creating an API for get user by YII2 user api by user id. If I pass user id then it is working good but If I pass string then I get below error.
<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->prepare()
#1 /var/www/html/vendor/yiisoft/yii2/web/ErrorHandler.php(128): yii\web\Response->send()
#2 /var/www/html/vendor/yiisoft/yii2/base/ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\NotFoundHttpException))
#3 [internal function]: yii\base\ErrorHandler->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->runAction('wewqewqe', Array)
#1 /var/www/html/vendor/yiisoft/yii2/web/Application.php(102): yii\base\Module->runAction('categories/wewq...', Array)
#2 /var/www/html/vendor/yiisoft/yii2/base/Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#3 /var/www/html/index.php(16): yii\base\Application->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->handleRequest(Object(yii\web\Request))
#1 /var/www/html/index.php(16): yii\base\Application->run()
#2 {main}</pre>
I am using swagger for executing APIs and Endpoint of the API is
users/{id}
Work fine when enter
/users/1
Get error when
/users/asdf
Web.php
'users/<id:\d+>' => 'users/',

I have recently faced same issue and it has been solved by the change in routing in web.php in config folder.
Change your url
users/<id> instead of users/<id:\d+>.

Related

Gdex woocommerce installation issue?

I have newly installed GDEX woommerce plugin on wordpress I have this issue
Fatal error: Uncaught InvalidArgumentException: Token is required. in F:\xampp\htdocs\wordpress\bug\wp-content\plugins\mygdex-for-woocommerce\includes\class-gdex-api.php:32 Stack trace: #0 F:\xampp\htdocs\wordpress\bug\wp-content\plugins\mygdex-for-woocommerce\includes\helpers.php(324): Gdex_Api->__construct('') #1 F:\xampp\htdocs\wordpress\bug\wp-content\plugins\mygdex-for-woocommerce\admin\class-gdex-consignment.php(348): gdex_api_get_last_shipment_status(Array) #2 F:\xampp\htdocs\wordpress\bug\wp-includes\class-wp-hook.php(289): Gdex_Consignment->fetch_consignments_statuses(Array) #3 F:\xampp\htdocs\wordpress\bug\wp-includes\plugin.php(249): WP_Hook->apply_filters(Array, Array) #4 F:\xampp\htdocs\wordpress\bug\wp-includes\class-wp-query.php(3190): apply_filters_ref_array('the_posts', Array) #5 F:\xampp\htdocs\wordpress\bug\wp-includes\class-wp-query.php(3448): WP_Query->get_posts() #6 F:\xampp\htdocs\wordpress\bug\wp-includes\class-wp.php(624): WP_Query->query(Array) #7 F:\xampp\htdocs\wordpress\bug\wp-includes\class-w in F:\xampp\htdocs\wordpress\bug\wp-content\plugins\mygdex-for-woocommerce\includes\class-gdex-api.php on line 32
You need to insert user access from https://my.gdexpress.com/dashboard/updateprofile

AnchorCMS installation fails

When I've gone through the installation steps for Anchor CMS, I'm getting an error (after final step):
Uncaught Exception
Undefined variable: vars
Origin
install/routes.php on line 183
Trace
#0 /home/.../anchor-cms/install/routes.php(183): System\error::native(8, 'Undefined varia...', '/home/...', 183, Array)
#1 [internal function]: {closure}()
#2 /home/.../anchor-cms/system/route.php(165): call_user_func_array(Object(Closure), Array)
#3 /home/.../anchor-cms/system/router.php(158): System\route->run()
#4 /home/.../anchor-cms/system/start.php(46): System\router->dispatch()
#5 /home/.../anchor-cms/install/index.php(33): require('/home/...')
#6 {main}
Any suggestions? I'm running Linux 64bit (elementaryOS).
You may have already resolved this, but the way I got around this was to remove the undefined variable from line 183 of the install/routes.php file completely.
return Layout::create('account' $vars);
So it then looked like this:
return Layout::create('account');
Refreshing the page will then allow you to create an account and login to the admin interface etc.

How to make zf2 output errors with simple formatting?

I am newbie with zf2 framework. For example, now I get this error:
Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (ZfcUserOverride) could not be initialized.' in F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php:189 Stack trace:
#0 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(163): Zend\ModuleManager\ModuleManager->loadModuleByName(Object(Zend\ModuleManager\ModuleEvent))
#1 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(90): Zend\ModuleManager\ModuleManager->loadModule('ZfcUserOverride')
#2 [internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent))
#3 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(468): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent))
#4 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('loadModules', Object(Zend\ModuleManager\ModuleEvent), NULL)
#5 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(109): Zend\EventManager\EventManager->trigger('loadModules', Object(Zend\ModuleManager\ModuleManager), Object(Zend\ModuleManager\ModuleEvent))
#6 F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\Mvc\Application.php(252): Zend\ModuleManager\ModuleManager->loadModules()
#7 F:\Server\domains\zf2-skeleton\public\index.php(17): Zend\Mvc\Application::init(Array)
#8 {main} thrown in F:\Server\domains\zf2-skeleton\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php on line 189
I formatted it manually, so you can read correct error.
It is hard to do it all time I get some error. How I can make zf2 to output such errors correctly?
I need something like this:
The ZendSkeletonApplication comes with a template that reports errors in a readable format. If you install the ZendSkeletonApplication and build your application off of it, you’ll benefit from this template and other conveniences. Alternatively, you can use just the standard error template or create your own.

I connect Twitter and Google, but then error: {"message":"SSL is required","code":92}]}

I use sparks with Codeigniter and want connect Social Platforms. Facebook works, but twitter and google not.
My error:
Fatal error: Uncaught exception 'Exception' with message 'Error
fetching remote https://api.twitter.com/oauth/access_token [ status
401 ] Invalid /
expired Token /oauth/access_token '
in
/home/binotumv/public_html/beta/sparks/oauth/0.3.1/libraries/OAuth.php:87
Stack trace: #0
/home/binotumv/public_html/beta/sparks/oauth/0.3.1/libraries/Request.php(504):
OAuth::remote('https://api.twi...', Array) #1
/home/binotumv/public_html/beta/sparks/oauth/0.3.1/libraries/Request/Access.php(20):
OAuth_Request->execute(NULL) #2
/home/binotumv/public_html/beta/sparks/oauth/0.3.1/libraries/Provider.php(214):
OAuth_Request_Access->execute() #3
/home/binotumv/public_html/beta/application/controllers/auth.php(74):
OAuth_Provider->access_token(Object(OAuth_Consumer),
Object(OAuth_Token_Request)) #4 [internal function]:
Auth->oauth('twitter') #5
/home/binotumv/public_html/beta/system/core/CodeIgniter.php(359):
call_user_func_array(Array, Array) #6 /home in
/home/binotumv/public_html/beta/sparks/oauth/0.3.1/libraries/OAuth.php
on line 87
What can i do my code for solution? Thank you.

Yii framework - controller actions

I am trying to create sample project in yii but I am having this problem while trying to run my code:
CHttpException
The system is unable to find the requested action "error". (C:\wamp\www\yii\framework\web\CController.php:484)
#0 C:\wamp\www\yii\framework\web\CController.php(271): CController->missingAction('error')
#1 C:\wamp\www\yii\framework\web\CWebApplication.php(276): CController->run('error')
#2 C:\wamp\www\yii\framework\base\CErrorHandler.php(310): CWebApplication->runController('site/error')
#3 C:\wamp\www\yii\framework\base\CErrorHandler.php(183): CErrorHandler->render('error', Array)
#4 C:\wamp\www\yii\framework\base\CErrorHandler.php(108): CErrorHandler->handleException(Object(CHttpException))
#5 C:\wamp\www\yii\framework\base\CApplication.php(713): CErrorHandler->handle(Object(CExceptionEvent))
#6 [internal function]: CApplication->handleException(Object(CHttpException))
#7 {main}
Can anyone tell me the reason ? As I think this is not the problem of my code.
An exception has occurred (most likely due to a bug or misconfiguration) and Yii attempted to run the error handler, which in this case is the error action on the site controller.
The error occurs because you do not have a site controller, or it does not have an error action.

Categories