public function postAction(Request $request)
    {
        try {
            $filter = $this->getManager()->save(
                $request->request->all(),
                $this->getRequestParameter($request, 'locale', true),
                $this->getUser()->getId()
            );
            $view = $this->view($filter, 200);
        } catch (FilterDependencyNotFoundException $e) {
            $exception = new EntityNotFoundException($e->getEntityName(), $e->getId());
            $view = $this->view($exception->toArray(), 400);
        } catch (MissingFilterException $e) {
            $exception = new MissingArgumentException(self::$entityName, $e->getFilter());
            $view = $this->view($exception->toArray(), 400);
        } catch (MissingFilterAttributeException $e) {
            $exception = new MissingArgumentException(self::$entityName, $e->getAttribute());
            $view = $this->view($exception->toArray(), 400);
        } catch (ConditionGroupMismatchException $e) {
            $exception = new InvalidArgumentException(self::$groupConditionEntityName, $e->getId());
            $view = $this->view($exception->toArray(), 400);
        } catch (UnknownContextException $e) {
            $exception = new RestException($e->getMessage());
            $view = $this->view($exception->toArray(), 400);
        }

        return $this->handleView($view);
    }