1

我有一个在 Nuxt 和 Laravel 上运行的前端作为后端服务。当我使用 Laravel 的 API 中间件生成签名 URL 时 - 路径在 URL 中包含“api”,导致 Nuxt 端出现页面未找到异常

因此,以下是更好地了解正在发生的事情的步骤:

  1. 用户单击 Nuxt 应用程序中的按钮并将 ajax 请求发送到 Laravel API
  2. API 控制器生成签名 URL

$signedUrl = URL::signedRoute('register', ['email' => $this->request->email, 'group_id' => $this->request->group_id], null, false);

  1. 生成的URL在路径中包含“api”,当然不能访问 http://localhost:3000/api/register?email=ss%40gmail.com&group_id=2&signature=ce4fba05bf5ccae6ea20a6043a47ca11de603238214deda7202d19f2989272cb

有没有办法从生成的 URL 中删除 /api/?我尝试将方法 signedRoute 中的第 4 个参数(绝对值)设置为 false,但这没有帮助。

4

1 回答 1

1

默认 api 路由具有前缀“api”,如 RouterProvider 中所示:

    protected function mapApiRoutes()
    {
        Route::prefix('api')
               ...;
    }

当您生成签名 URL 时,对于'register'使用前缀的路由api,生成的 URL 将如预期的那样:www.mydomain.com/api/register?...

于 2020-05-02T12:56:32.923 回答