Publicidad

5 - Crear una API en PHP, listar marcas y coches


Por Alex el 04/06/2020, Comentar el artículo

Comparte este artículo:      




En los anteriores capítulos hemos creado la estructura de la API con las clases base que vamos a utilizar, ahora, vamos a crear las funcionalidades propias del programa, la gestión de coches y marcas.


Vamos a crear tres nuevas clases dentro de la carpeta modules que es la carpeta donde pondremos la funcionalidad de la API.

  • CommonClass.php, esta es una clase común de la que heredarán el resto de clases y aquí podremos poner funciones comunes a todas las demás clases.
  • BrandsClass.php, aquí pondremos los métodos específicos a las marcas de coches.
  • CarsClass.php, y aquí los métodos específicos a los modelos de coches.
CommonClass es una clase muy sencilla donde pondremos los métodos comunes al resto de clases así si tenemos funcionalidades que se utilizan en varias clases no hay que repetir el código.

A modo de ejemplo pongo solo un método para verificar si la API tiene parámetros y devuelve un true o false.

#
# clase comun al resto de clases de la aplicación
# metodos comunes que se tengan que utilizar en todas o algunas de las clase
# lo podemos poner aqui para no tener que repetir codigo
#

class CommonClass
{

  # Metodo comun para verificar si la API tiene parametros
  # para un método especifico
	public function CheckParams( $data)
  {

  	if ( empty( $data))
  	{
  		return ( array( 'status' => false));
  	}
  	else
  	{
  		return ( array( 'status' => true));
  	}

  } 
 }

BrandsClass esta clase se va a encargar de gestionar las marcas donde listamos, crearemos o borraremos marcas.

A modo de ejemplo he creado dos métodos

  • list_all donde se listan todas las marcas
  • list_one donde se lista una marca por país
Pongo aquí los JSON que se pasan en cada método

list_all

{
 
 "LOGIN":{
  "username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns",
  "password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]",
  "api":"CARS-DEV"
 },
 "ACTIONS":{
   "class":"brands",
   "method": "list_all"
 },
 "DATA":{
   "params":"some params"
 }
 
}



list_one

{
 
 "LOGIN":{
  "username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns",
  "password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]",
  "api":"CARS-DEV"
 },
 "ACTIONS":{
   "class":"brands",
   "method": "list_one"
 },
 "DATA":{
   "country":"Japon"
 }
 
}

CarsClass con esta clase trabajamos con los modelos de coches y al igual que la anterior podemos listar, crear, modificar, borrar o poner la lógica que queramos relacionada con los modelos de coches.

A modo de ejemplo he creado dos métodos

  • list_all donde se listan todos los modelos
  • add para crear modelos nuevos
Pongo aquí los JSON que se pasan en cada método

list_all

{
 
 "LOGIN":{
  "username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns",
  "password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]",
  "api":"CARS-DEV"
 },
 "ACTIONS":{
   "class":"cars",
   "method": "list_all"
 },
 "DATA":{
 }
 
}
add

{
 
 "LOGIN":{
  "username":"tEQUnCs5UdmGApjSksFkeBykC5ANVpns",
  "password":"8A}yCehpvD5Pm26jtQZY-m;t5^G(WTd]",
  "api":"CARS-DEV"
 },
 "ACTIONS":{
   "class":"cars",
   "method": "add"
 },
 "DATA":{
   "params":"otros parametros",
   "brand_id":4,
   "model_name":"clio turbo",
   "price":12000,
   "enabled":1
 }
 
}

Para probar los JSON y la API podéis utilizar Postman. Aquí tenéis un artículo donde explica como utilizarlo, Probar APIs con Postman.

Podéis bajaros la el código del github por capítulos o la carpeta completa htps://github.com/depruebas/api-cars

Y esto es todo, y feliz programming
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.