Laravel 的签名 URL 在使用 api 中间件时生成错误的 URL
Laravel's signedURL generates wrong URL when using api middlware
我在 Nuxt 上有一个前端 运行 和 Laravel 作为后端服务。当我使用 Laravel 的 API 中间件生成已签名的 URL - 路径在 URL 中包含 "api",导致页面未找到异常Nuxt这边
因此,以下是更好地了解正在发生的事情的步骤:
- 用户在 Nuxt 应用程序中单击一个按钮并向 Laravel API
发送 ajax 请求
- API 控制器生成签名URL
$signedUrl = URL::signedRoute('register', ['email' => $this->request->email, 'group_id' => $this->request->group_id], null, false);
- 生成的URL包含路径中的"api",当然不能访问
http://localhost:3000/api/register?email=ss%40gmail.com&group_id=2&signature=ce4fba05bf5ccae6ea20a6043a47ca11de603238214deda7202d19f2989272cb
有没有办法从生成的 URL 中删除 /api/?我试过将 signedRoute 方法中的第 4 个参数(绝对值)设置为 false,但没有用。
默认 api 路由具有前缀 'api',如您的 RouterProvider 所示:
protected function mapApiRoutes()
{
Route::prefix('api')
...;
}
当您为使用前缀 api
的路由 'register'
生成签名 URL 时,生成的 URL 将如预期的那样:www.mydomain.com/api/register?...
我在 Nuxt 上有一个前端 运行 和 Laravel 作为后端服务。当我使用 Laravel 的 API 中间件生成已签名的 URL - 路径在 URL 中包含 "api",导致页面未找到异常Nuxt这边
因此,以下是更好地了解正在发生的事情的步骤:
- 用户在 Nuxt 应用程序中单击一个按钮并向 Laravel API 发送 ajax 请求
- API 控制器生成签名URL
$signedUrl = URL::signedRoute('register', ['email' => $this->request->email, 'group_id' => $this->request->group_id], null, false);
- 生成的URL包含路径中的"api",当然不能访问
http://localhost:3000/api/register?email=ss%40gmail.com&group_id=2&signature=ce4fba05bf5ccae6ea20a6043a47ca11de603238214deda7202d19f2989272cb
有没有办法从生成的 URL 中删除 /api/?我试过将 signedRoute 方法中的第 4 个参数(绝对值)设置为 false,但没有用。
默认 api 路由具有前缀 'api',如您的 RouterProvider 所示:
protected function mapApiRoutes()
{
Route::prefix('api')
...;
}
当您为使用前缀 api
的路由 'register'
生成签名 URL 时,生成的 URL 将如预期的那样:www.mydomain.com/api/register?...