Получение данных POST не работает в платформе Api - PullRequest
0 голосов
/ 03 июля 2019

У меня есть следующая команда curl.

POST {{url}}/api/users/:id/reset-password?reset_key=b77b780972757de038b51fe00072069e2ad76706

{
    "password": "password2"
}

Я использую $request->request->get('password');, но возвращает ноль;

"hydra: title": "Произошла ошибка"," hydra: description ":" Не удалось автоматически проверить значения типа \ "NULL \">. Укажите ограничение. ",

Вот мой UserController

public function resetPassword($data, Request $request, UserService $userService)
    {
        /** @var User $userFromRequest */
        $userFromRequest = $data;

        $resetKey = $request->query->get('reset_key');
        if ($resetKey === null) {
            throw new AccessDeniedException();
        }

        $userFromDatabase = $userService->getUserById($userFromRequest->getId());
        if ($userFromDatabase === null) {
            throw new AccessDeniedException();
        }

        if ($userFromRequest->getId() !== $userFromDatabase->getId()) {
            throw new AccessDeniedException();
        }

        if ($resetKey !== $userFromDatabase->getResetKey()) {
            throw new AccessDeniedException();
        }

        $now = new \DateTime();
        $isGreaterThan24Hours = $userFromDatabase->getResetRequestAt()
                ->diff($now)->format('H') > 24;

        //return $isGreaterThan24Hours;

        if ($isGreaterThan24Hours) {
            throw new AccessDeniedException();
        }

        return $request->request->get('password');
        // set user pssword

        $userService->resetPassword($userFromDatabase);

        return $userFromDatabase;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...