Symfony API平台-创建没有实体的新资源
嗨,我在用。基于symfony的API框架 我已经创建了实体,并使用Symfony API平台-创建没有实体的新资源,symfony,api-platform.com,Symfony,Api Platform.com,嗨,我在用。基于symfony的API框架 我已经创建了实体,并使用@ApiResource注释公开了它们,因此我可以在CRUD的API文档中看到它们 我想在swagger api文档中添加一个自定义控制器。例如,我的身份验证控制器 我该怎么做 我的令牌控制器: class TokenController extends Controller { /** * @Route(path="/auth", name="auth") * * @param Reque
@ApiResource
注释公开了它们,因此我可以在CRUD的API文档中看到它们
我想在swagger api文档中添加一个自定义控制器。例如,我的身份验证控制器
我该怎么做
我的令牌控制器:
class TokenController extends Controller
{
/**
* @Route(path="/auth", name="auth")
*
* @param Request $request
* @return JsonResponse
* @throws \Lexik\Bundle\JWTAuthenticationBundle\Exception\JWTEncodeFailureException
*/
public function tokenAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository(User::class)->findOneBy(array(
'username' => $request->getUser(),
));
if(!$user){
throw $this->createNotFoundException('No user');
}
$isValid = $this->get('security.password_encoder')->isPasswordValid($user, $request->getPassword());
if(!$isValid){
throw new BadCredentialsException();
}
$token = $this->get('lexik_jwt_authentication.encoder')->encode(array(
'id' => $user->getId(),
'username' => $user->getUsername(),
'roles' => $user->getRoles(),
));
return new JsonResponse(array(
'token' => $token
));
}
}
您必须创建一个招摇过市装饰器,并为端点添加自定义招摇过市配置