Sonata\CustomerBundle\Controller\Api\CustomerController::postCustomerAddressAction PHP Method

postCustomerAddressAction() public method

Adds a customer address.
public postCustomerAddressAction ( integer $id, Request $request ) : Address
$id integer A Customer identifier
$request Symfony\Component\HttpFoundation\Request A Symfony request
return Address
    public function postCustomerAddressAction($id, Request $request)
    {
        $customer = $id ? $this->getCustomer($id) : null;
        $form = $this->formFactory->createNamed(null, 'sonata_customer_api_form_address', null, array('csrf_protection' => false));
        $form->bind($request);
        if ($form->isValid()) {
            $address = $form->getData();
            $address->setCustomer($customer);
            $this->addressManager->save($address);
            $view = \FOS\RestBundle\View\View::create($address);
            $serializationContext = SerializationContext::create();
            $serializationContext->setGroups(array('sonata_api_read'));
            $serializationContext->enableMaxDepthChecks();
            $view->setSerializationContext($serializationContext);
            return $view;
        }
        return $form;
    }