【问题标题】:why is my api request going to web route instead of api route? Laravel 5.5.33为什么我的 api 请求会转到 web 路由而不是 api 路由? Laravel 5.5.33
【发布时间】:2018-07-09 21:35:46
【问题描述】:

我正在尝试在后端使用 Vuejs 和 Laravel 建立一个 SPA,这使得配置 web 路由以接受所有路径并返回主页但是

我所有使用 axios 的 ajax 请求

signin(context, data) {
    axios.post(`${this.base_url}/api/signin`,data)
    .then(response => {
        context.error = false
        localStorage.setItem('id_token', response.data.meta.token)
        this.user.authenticated = true
        this.user.profile = response.data.data
        router.push({
            path: '/'
        })
    }).catch(errors => {
        console.dir(errors.response.data)
        context.errors = errors.data
        context.error = true
    })
},

要去 laravel 网络路由

<?php Route::any('{all}', function () {return view('index'); })->where(['all' => '.*']);

而不是api路由

Route::group(['middleware' => ['api']], function () {
Route::post('/api/register', [
    'uses' => 'Auth\AuthController@register',
]);

Route::post('/api/signin', [
    'uses' => 'Auth\AuthController@signin',
]);

Route::group(['middleware' => 'jwt'], function () {
    Route::get('/user', [
        'uses' => 'UserController@index',
    ]);
});

});

谁能给我解释一下为什么会这样?

【问题讨论】:

  • 您是否尝试注释掉 web-route 并查看请求是否被重定向到 api-route?我的猜测是网络路由正在捕获所有请求,因为您使用了通配符。
  • 是的,但它抛出异常 route not defined 后来所做的是将我所有的路由移动到 web 和 web Guard 从 session 到 api
  • 现在你所有的路线都在网络上?
  • 是的,JWT 似乎在阻止它
  • 但是 {all}-route 在 routes-file 中排在第一位吗?如果是这样,您可能希望将其放在文件末尾。

标签: php vuejs2 axios laravel-5.5


【解决方案1】:

请从 routes/web.php 文件中删除 api 路由并将其放入 routes/api.php 文件中

Route::post('/api/register', [
     'uses' => 'Auth\AuthController@register',
]);

Route::post('/api/signin', [
     'uses' => 'Auth\AuthController@signin',
]);

Route::group(['middleware' => 'jwt'], function () {
      Route::get('/user', [
          'uses' => 'UserController@index',
      ]);
});

你的 web.php 应该只包含

Route::any('{all}', function () {return view('index'); })->where(['all' => '.*']);

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2022-06-30
    • 2013-11-26
    • 2017-10-13
    • 1970-01-01
    • 2013-09-23
    • 2017-07-10
    • 2017-07-28
    • 2021-10-01
    相关资源
    最近更新 更多