Foros del Web » Administración de Sistemas » Software para Servers »

api rest utilizando slim return false

Estas en el tema de api rest utilizando slim return false en el foro de Software para Servers en Foros del Web. Buenas a tardes a todos. Resulta que estaba intentando crear mi primera api rest con el framework slim pero al intentar testearla con postman este ...
  #1 (permalink)  
Antiguo 25/02/2014, 13:24
 
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación api rest utilizando slim return false

Buenas a tardes a todos.

Resulta que estaba intentando crear mi primera api rest con el framework slim pero al intentar testearla con postman este me devuelve los campos en null con el status 200 ok

{
"current_field": null,
"field_count": null,
"lengths": null,
"num_rows": null,
"type": null
}

Estoy trabajando con un equipo local ¿aunque no creo que eso me influya no?, de todas formas os pego el código por si veis algo raro.

Código PHP:

require 'Slim/Slim.php';
SlimSlim::registerAutoloader();


$app = new SlimSlim();

// definimos las rutas
 
$app->get('/clientes''getClientes');
$app->get('/clientes/:id',  'getCliente');
$app->get('/clientes/search/:query''getByName');
$app->post('/clientes''addCliente');
$app->put('/clientes/:id''updateCliente');
$app->delete('/clientes/:id',   'deleteCliente');
 
 
 
$app->run();


function 
getclientes() {
    
$sql "SELECT * FROM clientes ORDER BY nombre";
    try {
        
$db getConnection();
        
$stmt $db->query($sql);
        echo 
json_encode($stmt);
        
   } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }

function 
getCliente($id) {
    
$sql "SELECT * FROM clientes WHERE id=:id";
    try {
        
$db getConnection();
        
$stmt $db->prepare($sql);
        
$stmt->bindParam("id"$id);
        
$stmt->execute();
        
$db null;
        echo 
json_encode($stmt);
        
  } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }
}

function 
addCliente() {
    
$request Slim::getInstance()->request();
    
$cliente json_decode($request->getBody());
    
$sql "INSERT INTO clientes (nombre, direccion, telefono) VALUES (:nombre, :direccion, :telefono)";
    try {
        
$db getConnection();
        
$stmt $db->prepare($sql);
        
$stmt->bindParam("nombre"$cliente->cliente);
        
$stmt->bindParam("direccion"$cliente->direccion);
        
$stmt->bindParam("telefono"$cliente->telefono);
        
$stmt->execute();
        
$db null;
        
        echo 
json_encode($stmt);
        
    } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }
}

function 
updateCliente($id) {
    
$request Slim::getInstance()->request();
    
$body $request->getBody();
    
$cliente json_decode($body);
    
$sql "UPDATE clientes SET nombre=:nombre, direccion=:direccion, telefono=:telefono WHERE id=:id";
    try {
        
$db getConnection();
        
$stmt $db->prepare($sql);
        
$stmt->bindParam("nombre"$cliente->nombre);
        
$stmt->bindParam("direccion"$cliente->direccion);
        
$stmt->bindParam("telefono"$cliente->telefono);
        
$stmt->execute();
        
$db null;
        echo 
json_encode($stmt);
        
    } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }
}

function 
deleteCliente($id) {
    
$sql "DELETE FROM clientes WHERE id=:id";
    try {
        
$db getConnection();
        
$stmt $db->prepare($sql);
        
$stmt->bindParam("id"$id);
        
$stmt->execute();
        
$db null;
    } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }
}

function 
getByName($query) {
    
$sql "SELECT * FROM clientes WHERE UPPER(name) LIKE :query ORDER BY nombre";
    try {
        
$db getConnection();
        
$stmt $db->prepare($sql);
        
$query "%".$query."%";
        
$stmt->bindParam("query"$query);
        
$stmt->execute();
        
$db null;
        echo 
json_encode($stmt);
        
    } catch(
Exception  $e) {
        echo (
"error"$e->getMessage());
    }
}

function 
getConnection() {
    
//Datos para la conexión con el servidor
        
$servidor   "localhost";
        
$nombreBD   "angular";
        
$usuario    "root";
        
$contrasena "";
        
        
$conexion = new mysqli($servidor,$usuario,$contrasena,$nombreBD);
        
//Si sucede algún error la función muere e imprimir el error
        
if($conexion->connect_error){
            die(
"Error en la conexion : ".$conexion->connect_errno.
                                      
"-".$conexion->connect_error);
       }
        
        return 
$conexion;

La verdad que ando un poco loco con esto ya que es la primera que hago, gracias de antemano por todo

Etiquetas: api, framework, php, rest, servidores-web
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:19.