首页 > 解决方案 > Angular 9.1.x,数百条路线运行良好,少一条

问题描述

更新:问题不在于 API,而在于 Angular。请参阅下面的答案。

我有一个应用程序工作多年,我从来没有遇到过路线问题。上周末,在部署了一些更新后,我发现其中一条路由根本没有被调用。

我失去了周末试图调试,但我找不到任何东西。该路线根本没有被调用。Laravel 没有收到任何请求。

它是记录的包含,就像其他几十个已经存在的包含一样。没什么不同。

我改变了路线的顺序。我从 put 更改为 post,反之亦然。我更改了班级的名称。我更改了控制器的名称。我对客户端进行了更改(Angular 9)。这些都不起作用,服务器和客户端不显示任何类型的错误。它只是行不通。

在同一个控制器中,所有其他路由都可以正常工作,用于删除、更新、导出、打印等......

我还创建了中间件来查看所有到达服务器的请求并且什么都没有出现......

有什么建议吗?

我所有的路线都有这种结构......

Route::group([
    'middleware' => ['auth:api'],
    'prefix' => 'prefix-route'
], function () {
    Route::post('route-name', 'ControllerName@addRegister');
});

而我的控制器是这样的......(我没有放Trait,因为事实并非如此)

public function addRegister(Request $request)
    {
       $response = $this->methodName($request['data']);
       return response()->json($response, $this->sucessStatus);
    }

我更改名称只是为了简化理解。

我感谢任何帮助或提示!

当然,一切都在开发环境中完美运行!

标签: angularlaravelroutes

解决方案


我发现错误是因为我忘记将参数作为字符串传递给 POST,其中一个是作为对象发送的,没有正确的 JSON.stringify()。

我无法理解的是为什么 Angular 没有“抱怨”任何事情。没有消息?没有警告?

我没有收到错误消息(实时或编译),在开发中一切正常,但在生产中却没有。


推荐阅读