【发布时间】:2020-05-02 20:56:32
【问题描述】:
我有一个在 Nuxt 和 Laravel 上运行的前端作为后端服务。当我使用 Laravel 的 API 中间件生成签名 URL 时 - 路径在 URL 中包含“api”,导致 Nuxt 端出现页面未找到异常
因此,以下是更好地了解正在发生的事情的步骤:
- 用户点击 Nuxt 应用程序中的一个按钮并将 ajax 请求发送到 Laravel API
- 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,但没有帮助。
【问题讨论】:
-
你能分享一下
'register'路由的路由器吗? -
苏,在这里,在 routes/api
Route::get('register', 'RegisterController@register')->name('register'); Route::post('register', 'Auth\RegisterController@register'); -
api 默认路由有前缀'api',所以当你生成签名 URL 时,你请求路由
register,因此生成的 URL 将是www.mydomain.com/api/register?...
标签: laravel api signed-url