Пример #1
0
 /**
  * Recebe um JSON no formato:
  * {
  *     "id":valor,
  *     "contato":{
  *         "nome":"valor",
  *         "sobrenome":"valor"
  *     }
  * }
  */
 private function updateContato()
 {
     if ($this->get_request_method() !== 'POST') {
         $this->response('', API::STATUS_NOT_ACCEPTABLE);
     }
     $json = json_decode(file_get_contents("php://input"), true);
     // obtendo o id do objeto:
     $idContato = (int) $json['id'];
     // obtendo o json do objeto com os novos valores:
     $json_objeto = $json['contato'];
     // convertendo o json do objeto para um objeto:
     $objeto = DBJson::jsonToContato($json_objeto);
     // garantindo que nao haja tentativa de alteracao do id do objeto:
     $objeto->setId($idContato);
     // corrigindo os campos do objeto:
     // comentado: ao corrigir os campos null, estava alterando campos no banco de dados que nao havia sido
     //            passados pelo JSON, fazendo com que eles ficassem em branco no banco de dados.
     //$objeto->correctNullFields();
     // AQUI JA TEMOS O 'ID' E O 'OBJETO' COM OS NOVOS VALORES!
     if (DBObject::updateContato($objeto)) {
         $success = array('status' => 'Sucesso', 'msg' => 'Contato (' . $idContato . ') atualizado com sucesso.');
         $this->response($this->json($success), API::STATUS_OK);
     } else {
         $this->response('', API::STATUS_NOT_FOUND);
     }
 }