Para empezar creamos un directorio llamado api-cars y dentro un fichero llamado index.php, en este fichero ponemos las siguientes líneas (no poner los números), dejo el código en el github hhttps://github.com/depruebas/api-cars en el capítulo 01.
1- define ( "EOF", "\n");
2- # Punto de entrada de la API
3- # Recibimos los datos del POST
4- $_data_input = file_get_contents( 'php://input');
5- # Mostramos por pantalla lo recibido a la url
6- echo EOF."Respuesta JSON".EOF;
7- print_r( $_data_input);
8- echo EOF;
Con estas líneas de código ya podemos recibimos datos en nuestra API enviadas a una url donde esté alojada la API.
Ahora tenemos que probarla desde una URL, para no complicarnos mucho vamos a utilizar el servidor que tiene PHP ejecutándolo de la siguiente forma:
php -S 127.0.0.1:8000
Este comando lo tenéis que ejecutar en el directorio donde habéis creado el index.php
Aquí os dejo la explicación de ejecutar un servidor web: Convertir un directorio de tu ordenador en un servidor web
Este es el JSON que enviaremos a nuestra API recién creada:
{
"LOGIN":{
"username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns",
"password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]",
"api":"CARS-DEV"
},
"ACTIONS":{
"class":"List",
"method": "brands"
},
"DATA":{
"params":""
}
}
Como podéis ver tiene dos partes diferenciadas LOGIN y DATA:
- LOGIN es la parte de autentificación donde pondremos usuarios y passwords para validar el acceso de la API.
- ACTIONS es la sección donde describimos que va hacer la API, que clase y método se va a ejcutar.
- DATA son los parámetros, datos que va a necesitar el método que llamamos.
curl -X POST --header 'Content-Type: application/json' -d '{"LOGIN":{"username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns","password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]","api":"CARS-DEV"},"ACTIONS":{"class":"List","method": "brands"},"DATA":{"params":""}}' http://127.0.0.1:8000
Os dejo un artículo explicándolo Enviar datos JSON a una API con Curl
Si no tenéis curl instalado desde el terminal, en Linux, podéis hacer con este comando
sudo apt install curl
Otra forma de hacerlo es con Postman que es una aplicación para enviar datos a APIs que va muy bien para desarrollar. Os dejo un artículo para utilizarlo Probar APIs con Postman
Enviamos el JSON a la URL y la respuesta es:
Respuesta JSON
'{"LOGIN":{"username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns","password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]","api":"CARS-DEV"},"ACTIONS":{"class":"List","method": "brands"},"DATA":{"params":""}}
Como veis es lo mismo que enviamos porque no tratamos los datos. Si nos fijamos en el código que tenemos hasta ahora de la API en la línea 4
$_data_input = file_get_contents( 'php://input');
tenemos el código que recibe los datos que se nos envía a nuestra URL. En las líneas 6, 7 y 8 escribimos por pantalla (en este caso el terminal) un texto, lo que nos han enviado en el POST y unos saltos de línea.
En el siguiente artículo vamos añadir más código a nuestra API.
Y esto es todo, y feliz programming
Saludos
Alex.
También puede interesarte:
Configurar Laravel Sail para utilizar un MySql externo existente |
||