Para hacer peticiones al servicio RESTFul vamos a utilizar la herramineta cURL desde el interprete de comandos y la librería libcurl para utilizar la misma herramienta desde PHP.
Peticiones desde el interprete de comandos
1. Petición para recibir listado de usuarios:
curl http://localhost/login_restful/usuarios
Resultado:
{"estado":"correcto","usuarios":[{"id":"5","nombre":"modificado","email":"prueba4@ejemplo.com"},{"id":"7","nombre":"modificado2","email":"prueba6@ejemplo.com"},{"id":"10","nombre":"pepe","email":"prueba@e.com"}]}
2. Petición para crear un nuevo usuario:
curl -d "nombre=otroUsuario&email=prueba@ejemplo.com&pwd=1234" http://localhost/login_restful/crearUsuario
Resultado:
{"estado":"correcto","msg":"usuario creado correctamente","usuario":{"id":"11","nombre":"otroUsuario","email":"prueba@ejemplo.com"}}
3. Petición de comprobación la existencia de usuario del servicio:
curl -d "email=prueba@e.com&pwd=1234" http://localhost/login_restful/login
Resultado:
{"estado":"correcto","msg":"datos pertenecen a usuario registrado","usuario":{"id":"10","nombre":"pepe","email":"prueba@e.com"}}
4. Petición para modificar el nombre de un usuario:
curl -X PUT -d "nombre=modificado" http://localhost/login_restful/actualizarNombre/7
Resultado:
{"estado":"correcto","msg":"nombre de usuario actualizado correctamente."}
5. Petición para borrar un usuario:
curl -X DELETE http://localhost/login_restful/borrarUsuario/11
Resultado:
{"estado":"correcto","msg":"usuario borrado correctamente."}
Peticiones desde PHP
1. Petición para recibir lista de usuarios:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/login_restful/usuarios");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//$data = json_decode(curl_exec($ch),true);
$data = curl_exec($ch);
print_r($data);
curl_close($ch);
2. Petición para crear un nuevo usuario:
$postData = array(
'nombre'=>'prueba11',
'email'=>'prueba11@ejemplo.com',
'pwd' =>'1234'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/login_restful/crearUsuario");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
//http_build_query => Generar una cadena de consulta codificada estilo URL a partir de array
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
print_r($data);
curl_close($ch);
3. Petición de comprobación la existencia de usuario del servicio:
$postData = array(
'email'=>'prueba@e.com',
'pwd' =>'1234'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/login_restful/login");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
//http_build_query => Generar una cadena de consulta codificada estilo URL a partir de array
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
print_r($data);
curl_close($ch);
4. Petición para modificar el nombre de un usuario:
$data = array("nombre" => 'usuario');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/login_restful/actualizarNombre/12");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$data = curl_exec($ch);
print_r($data);
curl_close($ch);
5. Petición para borrar un usuario:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/login_restful/borrarUsuario/12");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
$data = curl_exec($ch);
print_r($data);
curl_close($ch);
Entradas relacionadas
Ejemplo PHP de servicio RESTful - Parte 1
Herramienta cURL en el interprete de comandos
Gracias por el tutorial!
ResponderEliminarExelente.... con ejemplos como este he logrado casi todo lo que necesito para un API completo, me gustaria conseguir un ejemplo del lado del servidor para "Petición de comprobación la existencia de usuario del servicio:"
ResponderEliminarContinuando mi comentario...... trate de tomarlo como una consulta, pero ocurre que despues de verificar la existencia de un usuario, voy a realizar otra consulta -si y solo- si el usuario esta activo.... gracias...
Eliminar