chrome extensions rest easy
Aunque si ya tienes instalado Postman no hace falta que te instales Rest easy
En https://www.slimframework.com/ está toda la documentación y también en https://www.youtube.com/watch?v=jJwDehC2sEM
Lo primero tener instalado el XAMPP y el composer, crear en el phpmyadmin del localhost una bd y una tabla para hacer pruebas, para más comodidad podemos crear un virtualhost pq sino para ejecutarlo hay que poner:
http://localhost/slim/public/index.php/api/clientes/agregar
Para crear el virtualhost modificar como siempre los ficheros:
C:\xampp\apache\conf\extra\httpd-vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/slim/public"
ServerName appslim
</VirtualHost>
C:\Windows\System32\drivers\etc\hosts (editarlo como siempre como Administrador)
127.0.0.1 appslim
Reiniciar el xampp. De esta manera para ejecutarlo se podrá poner solo:
http://appslim/api/clientes/2
Creamos la carpeta (por ejemplo slim) y dentro de esa carpeta de htdocs del xampp y desde la consola:
composer require slim/slim "^3.0"
Te crea toda la estructura con el vendor.
Para crear las funciones de nuestra API descargar todo el código de la carpeta public y src de aquí:
https://github.com/leandrosiegar/slim
Para probarlo desde esa extensión de chrome por ejemplo para listar:
----------------------------------------------
http://appslim/api/clientes/2
Method: GET
-------------------------------------------
Ejemplo para agregar:
http://appslim/api/clientes/agregar
Method: POST
Headers:
Name: Content-Type
Value: application/json
Body:
{
"nombre":"111",
"apellidos": "222",
"telefono": "222",
"email": "222",
"direccion": "222",
"apellidos": "222",
"ciudad": "222",
"departamento": "222"
}
--------------------------------------------
Si queremos mandarle autentificación en el header desde un CURL de una web externa:
$username = "uno";
$password = "dos";
$headers = array(
'Content-Type: application/json',
'Authorization: Basic '. base64_encode("$username:$password")
);
$url = "https://midominio.com/slim/public/index.php/api/clientes";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, false);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Entonces habrá que crear un htaccess donde esté nuestro slim:
RewriteEngine On
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Y para verificar la autentificación por ejemplo en clientes.php:
$_SERVER["HTTP_AUTHORIZATION"] = str_replace("Basic ", "", $_SERVER["HTTP_AUTHORIZATION"]);
if ($_SERVER["HTTP_AUTHORIZATION"] == base64_encode("uno:dos")) {
// codigo a ejecutar
}
else {
echo "No tienes permiso<hr>";
exit;
}
No hay comentarios:
Publicar un comentario