Contenido

API de noticias

Introducción

Otra práctica bastante común sería la de permitir a otros sitios web de la red acceder a una vista JSON de nuestras noticias, de modo que ellos pudieran mostrarlas en su sitio web a su antojo y sin necesidad de compartir ningún dato sensible. Para ello, Laravel nos permite entregar los datos a la vista en formato JSON (que luego el lector tendrá que conformar adecuadamente).

AppController

Vamos a añadir en nuestro controlador del front-end dos métodos:
  • mostrar(): mostrará las noticias del listado de noticias en formato JSON.
  • leer: simulará un método en otro sitio web que accede a la ruta mostrar de nuestro sitio web y devuelve los datos en una vista HTML.

Ver ejemplo de código

Archivo de rutas modificado (routes/web.php)

Debemos modificar el archivo routes/web.php (antes de la ruta por defecto) para que conozca las rutas de nuestra API:

Ver ejemplo de código

Vista de leer (archivo resources/views/api/leer.php)

Y para finalizar, añadimos la vista sin usar blade al ser un ejemplo de cómo hacerlo desde otro sitio web que no tiene por qué usar Laravel:

Ver ejemplo de código

api
Ejercicio propuesto
  • Genera un método para la API llamado escribir que permita, mediante un enlace personalizado que incluya la APP_KEY, almacenar una nueva noticia en la base de datos (sin imagen).
  • Traslada todos los métodos de la API a un nuevo controlador llamado ApiController