- 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.
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
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
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.
También puede interesarte:
Configurar Laravel Sail para utilizar un MySql externo existente |
||