Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/11/2013, 16:33
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 8 meses
Puntos: 270
Respuesta: Lógica peticiones API Rest

Primero, dividir los casos:
Los dos ejemplos que das, (obtener por id, u obtener por código de socio) parecen estar destinados a devolver 1 solo elemento.
Otra cosa distinta sería si los métodos estuvieran destinados a devolver más de un elemento, lo cual permitiría combinaciones más complicadas de filtros, aunque también se pueden resolver.

Suponiendo que estás hablando de una API para devolver 1 solo elemento.Las columnas de la tabla que son claves únicas son fácilmente identificables.La versión más simple,es un array del tipo:
Código PHP:
Ver original
  1. <?php
  2.    $uniqueParams=>array("id","codigoSocio");
  3.    $conditions=array();
  4.    foreach($uniqueParams as $value)
  5.    {
  6.            if(isset($_GET[$value]))
  7.                 $conditions[]=$value."=".$_GET[$value];
  8.    }
  9.    if(count($conditions)>0)
  10.    {
  11.            $query="SELECT * from usuarios WHERE ".implode(" and ",$conditions);
  12.    }
  13.    else
  14.    {
  15.         // Error.Sin condiciones.
  16.     }

Código PHP:
Ver original
  1. A nivel de performance quizas...
A nivel de performance, lo hagas como lo hagas, su impacto es nulo.Zero.nil.