Download the PHP package audunru/export-response without Composer
On this page you can find all versions of the php package audunru/export-response. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package export-response
Export JSON responses from Laravel
Currently supported:
- CSV
- XLSX
- XML
Installation
Step 1: Install with Composer
Depending on which formats you want to export to, you will have to install additional packages:
Format | Package |
---|---|
CSV | spatie/simple-excel |
XLSX | spatie/simple-excel |
XML | spatie/array-to-xml |
Step 2: Add middleware to your routes
To allow exports for all your API endpoints, add middleware to Kernel.php
:
To add it to one particular API resource, you can use this in api.php
:
You can specify an array key which will be used to retrieve the data. "Dot" notation is supported.
You can also add the middleware to the $middlewareGroups
and $routeMiddleware
arrays in app/Http/Kernel.php
:
Exporting from controller
Instead of using middleware, you can perform the export in the controller:
Lazy collections are also supported:
Please use lazy collections when you can. During testing, using Product::lazy()
to export 10,000 products took about 2MB of memory, compared to 44 MB of memory using Product::all()
. Both exports took the same amount of time (around 45 seconds).
Step 3: Exporting a response
In order to retrieve an API response as CSV instead of JSON, send a request to your API with the Accept
header set to text/csv
.
For XML, set the header to application/xml
.
For XLSX, set the header to application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.
Configuration
Publish the configuration file by running:
Development
Testing
Run tests:
All versions of export-response with dependencies
laravel/framework Version ^11.0
spatie/enum Version ^3.9
spatie/laravel-package-tools Version ^1.9
timacdonald/has-parameters Version ^1.5