在laravel 6.x中获取404 [英] Getting 404 in laravel 6.x
问题描述
我已经在 App \ Http \ Controllers \ Api \ v1
还使用 laravel/ui
默认创建的功能可使前端完美运行.
Default created function for front end working perfectly.
但是问题是何时尝试调用 ApiController
But issue is when try to call the ApiController
我的 API Rout e文件如下
Route::group(['prefix' => 'api/v1', 'namespace' => 'Api\v1'], function () {
Route::post('register', 'ApiController@register');
});
我的API控制器看起来像
And my API controller look like
namespace App\Http\Controllers\Api\v1;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ApiController extends Controller
{
public function register(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'api_token' => Str::random(60),
]);
}
}
在404之前是csrf错误,我已经通过
Before 404 it was csrf error and i have resolving it by
protected $except = [
'/register',
];
在 Http \ Middleware \ VerifyCsrfToken
我想不出两个问题
-
如何使用 $ except从 CSRF 进行我的整个 api 调用.
How to
except
my entire api call from CSRF using $except..
如何解决404 for register
方法的问题,我将邮递员与 POST 请求一起使用,并调用URL http://localhost/larablog/api/v1/register
How to solve 404 for register
method , i use postman with POST request and call URL http://localhost/larablog/api/v1/register
推荐答案
routes/api.php
文件中定义的路由由RouteServiceProvider嵌套在路由组内.在此组中,将自动应用/api
URI前缀,因此您无需手动将其应用于文件中的每个路由.您可以通过修改 RouteServiceProvider
类来修改前缀和其他路由组选项.
Routes defined in the routes/api.php
file are nested within a route group by the RouteServiceProvider. Within this group, the /api
URI prefix is automatically applied so you do not need to manually apply it to every route in the file. You may modify the prefix and other route group options by modifying your RouteServiceProvider
class.
1)404错误:-从前缀路由中删除 api
.
1) 404 error :- Remove api
from prefix route.
Route::group(['prefix' => 'v1', 'namespace' => 'Api\v1'], function () {
Route::post('register', 'ApiController@register');
});
http://localhost/larablog/api/v1/register
Route::group(['prefix' => 'v1', 'namespace' => 'Api\v1'], function () {
Route::post('register', 'ApiController@register');
});
您的 $ except
数组如下:
protected $except = ['v1/register'];
2.如果您要排除v1下的所有路由
您的 $ except
数组如下:
protected $except = ['v1/*'];
这篇关于在laravel 6.x中获取404的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!