Você não pode recuperar um endereço com base no ID do cliente, portanto esse código nunca funcionará:
$address = $this->_addressRepository->getByCustomerId($customerId);//error
Porque o getByCustomerId
método não existe nas classes de contrato de serviço.
No entanto, o que você pode fazer é usar a classe de cliente do contrato de serviço de dados com o seguinte código:
$customerId = $_POST["customer_id"];
$customer = $this->_customerRepository->getById($customerId);
$addresses = $customer->getAddresses();
Observe que getAddresses
retornará uma matriz de Magento\Customer\Api\Data\AddressInterface
.
Se você precisar do endereço de cobrança padrão, ligue para:
$billingAddress = $customer->getDefaultBilling();
$customer->getDefaultBilling();
lo retornar NULL