I have installed laravel 5.1.,5.0. and 5.2.*. , dingo api 1.0.x@dev and I have following configuration as per git laravel dingo api.
but I have getting issue once run dingo.
{
message: "404 Not Found",
status_code: 404,
debug: {
line: 161,
file: "/var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
class: "Symfony\Component\HttpKernel\Exception\NotFoundHttpException",
trace: [
"#0 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\Routing\RouteCollection->match(Object(Dingo\Api\Http\Request))",
"#1 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(659): Illuminate\Routing\Router->findRoute(Object(Dingo\Api\Http\Request))",
"#2 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->dispatchToRoute(Object(Dingo\Api\Http\Request))",
"#3 /var/www/html/karconnect_new_api/vendor/dingo/api/src/Routing/Adapter/Laravel.php(82): Illuminate\Routing\Router->dispatch(Object(Dingo\Api\Http\Request))",
"#4 /var/www/html/karconnect_new_api/vendor/dingo/api/src/Routing/Router.php(574): Dingo\Api\Routing\Adapter\Laravel->dispatch(Object(Dingo\Api\Http\Request), 'v1')",
"#5 /var/www/html/karconnect_new_api/vendor/dingo/api/src/Http/Middleware/Request.php(123): Dingo\Api\Routing\Router->dispatch(Object(Dingo\Api\Http\Request))",
"#6 [internal function]: Dingo\Api\Http\Middleware\Request->Dingo\Api\Http\Middleware{closure}(Object(Dingo\Api\Http\Request))",
"#7 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))",
"#8 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#9 [internal function]: Illuminate\Foundation\Http\MiddlewareVerifyCsrfToken->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#10 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#11 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#12 [internal function]: IlluminateView\Middleware\ShareErrorsFromSession->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#13 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#14 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#15 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#16 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#17 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#18 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#19 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#20 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#21 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#22 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#23 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#24 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Dingo\Api\Http\Request), Object(Closure))",
"#25 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#26 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Dingo\Api\Http\Request))",
"#27 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Dingo\Api\Http\Request))",
"#28 /var/www/html/karconnect_new_api/vendor/dingo/api/src/Http/Middleware/Request.php(124): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"#29 /var/www/html/karconnect_new_api/vendor/dingo/api/src/Http/Middleware/Request.php(100): Dingo\Api\Http\Middleware\Request->sendRequestThroughRouter(Object(Dingo\Api\Http\Request))",
"#30 [internal function]: Dingo\Api\Http\Middleware\Request->handle(Object(Illuminate\Http\Request), Object(Closure))",
"#31 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#32 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"#33 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"#34 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"#35 /var/www/html/karconnect_new_api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))",
"#36 /var/www/html/karconnect_new_api/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))",
"#37 {main}"
]
}
}
please anyone can help for same issue
I have follow following steps :
Sure,
I have follow instruction from https://github.com/dingo/api/wiki/Installation.
Step 1 : setting 'API_PREFIX=api' in .env file
Step 2 : configuration in api.php is following :
'standardsTree' => env('API_STANDARDS_TREE', 'vnd'),
'subtype' => env('API_SUBTYPE', ''),
'version' => env('API_VERSION', 'v1'),
'prefix' => env('API_PREFIX', 'api'),
'domain' => env('API_DOMAIN', 'http://localhost/api'),
'name' => env('API_NAME', null),
'conditionalRequest' => env('API_CONDITIONAL_REQUEST', true),
'strict' => env('API_STRICT', false),
'debug' => env('API_DEBUG', true),
Step 3: I have written code in route.php file
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->get('/users', function(){
return 'tsdasd';
});
});
Can you please help for same, where I'm wrong ?
try 1)
you can use cli php artisan api:routes to list your routes entry, use HOST + URI.
I assume entry become 'http://localhost/api/api/users' with your api.php config.
try 2)
'prefix' => env('API_PREFIX', 'api/v1'),
'domain' => env('API_DOMAIN', null),
with entry 'http://localhost/api/v1/users'
yes exactly, once I execute php artisan api.routes display route but when I try to run url it's display exception which I have mention in question, let me try again If I have written something else. Thanks for suggestion once again
Not working, please see attachment snapshot

root folder name is api and url would be like this http://localhost/api/api/v1/users
may you try php artisan serve as local server, then access url would be like http://localhost:8000/api/v1/users
Thank you so much @rk87. It's speech less. Working fine, but once I live it. follow same ?
Once I go for live then what command should be there for forever start service ?
I suggest expose your Laravel public path (/var/www/html/api/public/) for your live production http://example.com , url would be http://example.com/api/v1/users.
This require your httpd server (apache / nginx) with DocumentRoot configuration.
This is more secure and suggest to do (list in Laravel installation docs).
Otherwise, you still can access http://example.com/api/public/api/v1/users without config the httpd server.
@rk87 Can you suggest me where to configure httpd server and how ?
Can you tell me why php artisan:serve as local server ? what reason behind ?
It's working for me but once I call controller like following :
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->get('users','XyzController@index');
});
url : http://localhost/api/v1/users
I appear following errors :
{
"message": "Class XyzController does not exist",
"code": -1,
"status_code": 500,
"debug": {
"line": 741,
"file": "/var/www/html/api/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"class": "ReflectionException",
"trace": [
"#0 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(741): ReflectionClass->__construct('XyzController')",
"#1 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\\Container\\Container->build('XyzController', Array)",
"#2 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\\Container\\Container->make('XyzController', Array)",
"#3 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(85): Illuminate\\Foundation\\Application->make('XyzController')",
"#4 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(57): Illuminate\\Routing\\ControllerDispatcher->makeController('XyzController')",
"#5 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request), 'XyzController', 'index')",
"#6 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Route.php(134): Illuminate\\Routing\\Route->runWithCustomDispatcher(Object(Dingo\\Api\\Http\\Request))",
"#7 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(708): Illuminate\\Routing\\Route->run(Object(Dingo\\Api\\Http\\Request))",
"#8 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#9 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
"#10 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#11 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
"#12 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(710): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"#13 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request))",
"#14 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->dispatchToRoute(Object(Dingo\\Api\\Http\\Request))",
"#15 /var/www/html/api/vendor/dingo/api/src/Routing/Adapter/Laravel.php(65): Illuminate\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
"#16 /var/www/html/api/vendor/dingo/api/src/Routing/Router.php(559): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch(Object(Dingo\\Api\\Http\\Request), 'v1')",
"#17 /var/www/html/api/vendor/dingo/api/src/Http/Middleware/Request.php(112): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
"#18 [internal function]: Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#19 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
"#20 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#21 [internal function]: Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#22 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#23 /var/www/html/api/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#24 [internal function]: Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#25 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#26 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#27 [internal function]: Illuminate\\Session\\Middleware\\StartSession->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#28 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#29 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#30 [internal function]: Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#31 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#32 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#33 [internal function]: Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#34 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#35 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#36 [internal function]: Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
"#37 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#38 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
"#39 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
"#40 /var/www/html/api/vendor/dingo/api/src/Http/Middleware/Request.php(113): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"#41 /var/www/html/api/vendor/dingo/api/src/Http/Middleware/Request.php(89): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))",
"#42 [internal function]: Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"#43 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"#44 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"#45 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"#46 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"#47 /var/www/html/api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))",
"#48 /var/www/html/api/index.php(54): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))",
"#49 {main}"
]
}
}
@rk87 Please help for same, why I'm getting error.
php artisan serve just a command wrapper of php -S, you can ignore httpd server config and easier for testing in development mode before go live production. Apache / Nginx provider better performance in production mode.php artisan api:routes, if [ReflectionException] shown, you should check which namespace is using in XyzController, and what the path you locate XyzController.phpI have find out solution of reflectionException, if I'm just writing XyzController to apply full path of controller like App\Http\Controllers\XyzController@index then it's working
@rk87 Thanks for helping out @tankhit. Looks like you're good to go @tankhit, btw you can simplify the namespace requirement for controllers by making your route decleration look like this:
$api->version('v1', ['namespace' => 'App\Http\Controllers'], function ($api) {
$api->get('users','XyzController@index');
});
@hskrasek exactly I have make namespace and used on there to directly written name of Controller M'i right ?
i have the same problem. I have "dev,cinqsnipe.com:8080/api/authenticate" and i get json response in my own computer. But if i use ip of my computer it says 404 error. why is that? can anyone help me plaese?
Most helpful comment
may you try
php artisan serveas local server, then access url would be like http://localhost:8000/api/v1/users