【发布时间】:2018-09-01 08:57:57
【问题描述】:
我正在尝试通过 API 路由在 Laravel 5.5 中触发密码重置电子邮件,到目前为止我有这个控制器
<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
use SendsPasswordResetEmails;
public function sendResetLinkEmail(Request $request) {
if($request->input('email')) {
$this->sendResetLinkEmail($request->input('email'));
}
/* Return Success Response */
return Response::json(array(
'error' => false,
'status_code' => 200,
'response' => 'forgotten_pass_request',
'email' => $request->input('email'),
));
}
}
但是当我尝试通过电子邮件发送 API 请求时,我收到了错误
"message": "Type error: Argument 1 passed to App\\Http\\Controllers\\Api\\ForgotPasswordController::sendResetLinkEmail() must be an instance of Illuminate\\Http\\Request, string given, called in /home/myapp/myapp/app/Http/Controllers/Api/ForgotPasswordController.php on line 23",
有人知道我做错了什么吗?
【问题讨论】:
-
你在错误中有答案。您需要不同的 api 路由
-
如果你仔细观察,这个函数会以递归方式调用自己