【发布时间】:2019-09-01 18:36:05
【问题描述】:
使用 Laravel 构建 REST API。当客户端遇到不存在的路由时,我想返回一条 JSON 消息。
我有以下 api.php 文件:
<?php
use Illuminate\Http\Request;
Route::get('/', 'ListingController@getListingsAll')->name('all');
// No Authenticated Routes
Route::group(['prefix' => 'auth'], function () {
Route::post('login', 'AuthController@login')->name('login');
Route::post('register', 'AuthController@register')->name('register');
});
// Authenticated Routes
Route::group(['middleware' => 'auth:api'], function () {
//Auth functions
Route::group(['prefix' => 'auth'], function () {
Route::get('logout', 'AuthController@logout');
Route::get('user', 'AuthController@user');
});
//Listings
Route::get('listings/user', 'ListingController@getListingsPerUser')->name('listings.user');
Route::get('listings/all', 'ListingController@getListingsAll')->name('listings.all');
...
...
});
Route::fallback(function () {
return response()->json(['message' => 'Not Found!'], 404);
});
每当我对 http://localhost:8000/foo 或 http://localhost:8000/api/foo 等执行 REST 调用时...它都会返回 404 Not found Blade 视图而不是 JSON 响应。
有什么想法吗?
【问题讨论】:
标签: laravel