为啥 Api Route 在 laravel 应用程序中不起作用,显示错误(未找到 404 错误)?

Posted

技术标签:

【中文标题】为啥 Api Route 在 laravel 应用程序中不起作用,显示错误(未找到 404 错误)?【英文标题】:Why Api Route is not working in laravel application, Showing Error (not Found 404 error)?为什么 Api Route 在 laravel 应用程序中不起作用,显示错误(未找到 404 错误)? 【发布时间】:2021-12-07 15:13:21 【问题描述】:

Api 路由不工作。 Web 和管理路由正常工作。 我们检查了RouteServiceProvider.php

protected function mapApiRoutes()
  
    Route::prefix('api')
       ->middleware('api')
       ->namespace($this->namespace)
       ->group(base_path('routes/api.php'));
  

【问题讨论】:

你试过清除路由缓存吗? 向我们展示一个 URL 示例? 您是否看到任何类型的错误消息。您能否在浏览器中包含实际的 routes/api.php 文件以及您要访问的网址 你是否尝试过多个路由,像ModelNotFound这样的错误也会触发404错误,这取决于它使用的处理程序如何伪装。 我在清除缓存后尝试过。还是一样的问题 【参考方案1】:

使用 Laravel 8,您可以:

AppServiceProviderboot 方法中添加 $this->routes()

public function boot()

   $this->routes(function () 
     Route::prefix('api')
       ->middleware('api')
       ->namespace($this->namespace)
       ->group(base_path('routes/api.php'));
   

一个示例 api.php 文件可以是:

Route::get('/user', UserController::class, 'index');
Route::post('/user', UserController::class, 'register');

这些路由应该以 /api/ 为前缀,例如:/api/user

祝你好运:)

【讨论】:

我在清除缓存后尝试过。还是同样的问题。我也在 api.php Route::get('tttt', function() echo 78; ); 中尝试了简单的溃败

以上是关于为啥 Api Route 在 laravel 应用程序中不起作用,显示错误(未找到 404 错误)?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 Laravel 的这种情况下 route() 有效?

Laravel 5.0 的 Route::post 渲染一个空页面,为啥当 Route::get 工作正常时会这样

为啥我在 Laravel 中收到“Route [/login] not defined 错误”?

Route::get 在 Laravel 8 API 中返回空白

Laravel api类异常处理

api route laravel 总是返回错误 400