誰かがFOSUserBundleと一緒にFOSRestBundleを実装する方法の例やアイデアを持っていますか?すでにSymfony2とFOSUserBundleで開発されたWebアプリがありますが、APIレイヤーにFOSRestBundleを追加したいと思います。ユーザー名とパスワードを渡し、FOSUserBundleから、ログインしたユーザーを表すある種のトークンを受け取り、他のAPI呼び出し間で受け渡しできるようにしたいと考えています。誰かがこれを行うための良い方法を知っていますか?
質問する
2773 次
1 に答える
3
FOSUserBundle
つまり、REST の推奨事項に従う可能性があります。
ただし、これは でネイティブに動作するようには設計されていません。これFOSRestBundle
を行う最も簡単な方法は、バンドル内の UsersController をオーバーライドし、アクションを適応させることです。
たとえば、RESTFul 登録を許可するには、次のアクションを記述できます。
public function postUsersAction()
{
$form = $this->container->get('fos_user.registration.form');
$formHandler = $this->container->get('fos_user.registration.form.handler');
$confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled');
$process = $formHandler->process($confirmationEnabled);
if ($process) {
$user = $form->getData();
$authUser = false;
if ($confirmationEnabled) {
} else {
$authUser = true;
}
$response = new Response();
if ($authUser) {
/* @todo Implement authentication */
//$this->authenticateUser($user, $response);
}
$response->setStatusCode(Codes::HTTP_CREATED);
$response->headers->set(
'Location',
$this->generateUrl(
'api_users_get_user',
array('user' => $user->getId()),
true
)
);
return $response;
}
return RestView::create($form, Codes::HTTP_BAD_REQUEST);
}
于 2012-08-28T08:33:40.973 に答える