Come generare un JSON feed con Laravel

Come generare un JSON feed con Laravel

JSON Feed è un nuovo standard utile a dare forma a un feed RSS basato su JSON che mira a semplificare la creazione dei feed abbandonando lo standard XML. Implementare un feed nel tuo sito è semplice, e la sintassi è sorprendentemente chiara.

Ecco un esempio:

vediamo come creare un feed come questo con un breve esempio.

Prendi un elenco di post

Il primo passo è prendere un elenco di record dal database. In questo sito i record si trovano nella tabella “Posts” e usando Eloquent prendiamo gli ultimi 20 per il feed.

Setup dei dati per il JSON feed

Le specifiche del JSON Feed prevedono alcuni campi opzionali come ad esempio il titolo, URL del feed, icona del sito, e altri. Visto che non sono dati dinamici li aggiungiamo in un array manualmente:

Il campo vuoto items conterrà tutti i nostri post.

Aggiungiamo gli elementi al JSON Feed

Il passo finale è quello di effettuare un ciclo di tutti i nostri $posts e aggiungerli all’array items. Ecco un esempio utilizzando i miei dati:

L’unica parte univoca sono i time stamps. Utilizziamo le funzionalità di Carbon per convertire a UTC e al formato RFC 3339 richiesto dalle specifiche JSON.

Risultato finale

Ecco il metodo completo finale:

Una cosa da notare è che con Laravel non dobbiamo impostare alcun header particolare o cose del genere, dobbiamo soltanto restituire l’array $data che verrà convertito automaticamente in formato JSON con i corretti header.

Se vuoi implementare un package per questo proposito o hai bisogno di qualche funzionalità avanzata dai un’occhiata al nuovo LaravelJsonFeed di Mateus Guimarães.   

LaraMind è il punto di riferimento in Italia per quanto riguarda Laravel e Vue.js, dai un’occhiata ai corsi a catalogo e a tutte le soluzioni formative custom per privati e aziende!

Fonte Laravel News

Leave a reply