Loading ...

Usare XML con Lumen

Usare XML con Lumen

Lumen è un framework derivato da Laravel usato principalmente per la costruzione di servizi di REST.

Da quanto ho capito, supporta solo l'output in formato JSON.

Per me non ci sono grossi problemi visto che lo preferisco a XML; ma oggi mi è servito proprio questo formato.

Ho scoperto che è possibile usarlo attraverso un'estensione (usabile anche in Laravel): laravel-formatter!

Come potete vedere dalla documentazione, supporta vari tipi di output.

Per installarlo, entrate nella directory del progetto e date questo comando:

$ cd project
$ composer require soapbox/laravel-formatter

Questo il mio controller, che esegue una query e manda l'output in formato XML:

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use SoapBox\Formatter\Formatter;

class StDocRigheController extends Controller {

    public function getVendutoSettimaneInNegozi($anno) {
        $jsonString = DB::select('CALL sp_get_st_venduto_settimane_in_negozi(?)', [$anno]);
        $formatter = Formatter::make($jsonString, Formatter::XML);
        return $formatter->toXml();
    }

}

Enjoy!