首页 > 解决方案 > 在 Laravel 中使用无需身份验证的 api 路由

问题描述

我想简单地从控制器返回一些 JSON 数据,因此我想使用 api 路由。

MyController.php:

public function data()
{
    //return json string
}

该控制器应该由 api 和 web 路由使用,这取决于我的需要。

api.php:

Route::get('data', 'MyController@data');

当我访问路径时:/api/data它会将我重定向到/home.

但是,当我将路线更改为以下路线时,它可以工作:

Route::get('data', function() {
    //return json string
});

我不确定它是否与身份验证有关。如您所见,我没有将任何中间件绑定到我的路由。

这里似乎有什么问题?

标签: laravelapilaravel-routing

解决方案


如果您的控制器中定义了中间件,请执行此操作

$this->middleware('auth', ['except' => ['yourMethodName']]);

推荐阅读