domingo, 25 de octubre de 2020

Rutas en laravel 8

 Las rutas en laravel 8 son el primer paso para tener en cuenta en nuestra aplicacion. consiste en tener un control sobre todas las rutas ficticias que podriamos manejar en laravel. Lo comunmente se conoce como una url amigable. Pero en laravel lo lleva a un nuevo nivel, ya no sólo permite tener una ruta amigable para web, sino tambien para APIS, Canales y consola. Para ver el funcionamiento utilizaremos de ejemplo las rutas API, que son la misma logica para WEB.

Cabe mencionar que la carpeta donde se encuentran las rutas es: routes




Como vemos dentro hay 4 archivos, donde podremos manejar las rutas segun nuestra necesidad. el mas utilizado es el web.php y api.php. ya que en la web.php administramos todas las rutas que se envian al navegador y el api.php para que pueda ser utilizado por otro programa para el envio y recepcion de informacion.
Para ver el funcionamiento de las rutas utilizaremos el programa Postman y el archivo api.php. donde simularemos el uso de una api.

para modo de ejemplo veremos el siguiente codigo.


Ahora, en el siguiente codigo, veremos las diferentes formas de usar una ruta en una api.

Route::get('/users',function(){
  return 'hi users';
});
  


Como vemos solo hemos agregado la linea 18-20. donde hacemos un return de cadena. vamos a probar en el postman

Como podemos ver, en el postman obtenemos el resultado esperado. y asi podemos añadir varias rutas mas. a continucion te detallo las diferentes variables que puede tener


Route::get('/users/{name}',function($name){
  #Si no se envia nada por el parametro enviara error
  return 'hi '. $name;
});

Route::get('/users/{name?}',function($name=null){
  #Si no se envia nada por el parametro NO enviara error
  return 'hi '. $name;
});

Route::get('/users/{name?}',function($name=null){
  #Con regla de validacion(solo letras) para el parametro
  return 'hi '. $name;
})->where('name','[a-zA-Z]+');

Route::get('/users/{name?}',function($name=null){
  #Con regla de validacion(solo letras) para el parametro
  return 'hi '. $name;
})->where('name','[a-zA-Z]+');

Route::get('/products/{id?}',function($id=null){
  #Con regla de validacion(solo numeros) para el parametro
  return 'product is '. $id;
})->where('id','[0-9]+');

Route::match(['get','post'],'/students',function(Request $req){
  return 'Request method is '.$req->method();
});

Route::any('/post',function(Request $req){
  return 'the method is '.$req->method();
});


No hay comentarios:

Publicar un comentario

Crud Simple en laravel 8