我在getToken
方法中使用UserInterface
,该方法接收注册的用户并为他生成令牌,但当我发送数据(在Postman中)时,我收到错误:
无法自动连接"App\Controller\AuthController::getTokenUser()"
的参数$user
:它引用了接口"Symfony\Component\Security\Core\User\UserInterface"
,但不存在这样的服务。是否创建了实现此接口的类?
编辑:我已经在每个需要的类中实现了UserInterface。很抱歉没有提到它
获取令牌的方法:
public function getTokenUser(UserInterface $user, JWTTokenManagerInterface $JWTManager)
{
return new JsonResponse(['token' => $JWTManager->create($user)]);
}
方法路线:
api_login_check:
path: /api/login_check
controller: App\Controller\AuthController::getTokenUser
3条答案
按热度按时间3npbholx1#
必须在
App\Entity\User
中使用UserInterface实现类Usernew9mtju2#
您只是忘了向请求中添加主体
dtcbnfnu3#
如果有人还在寻找解决方案,这里是你可以尝试的。我已经在多个项目中用多个端点测试过了。
如果你在postman中测试它,无论正文类型如何,尝试将其作为JSON字符串传递。它将工作。status code 200 image如果你在原始文本格式中请求,你将收到上述错误。它可能对register方法有效,但对getToken()方法无效。status code 500 image两种情况下随附的屏幕截图。