在laravel 6.x中获取404 [英] Getting 404 in laravel 6.x

查看:53
本文介绍了在laravel 6.x中获取404的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在 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

我想不出两个问题

  1. 如何使用 $ except从 CSRF 进行我的整个 api 调用.

  1. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆