Laravel Packages

Build APIs in Laravel With the Restify Package

Published
Build APIs in Laravel With the Restify Package image

Laravel Restify is a package to make a powerful JSON:API-compatible Rest API with Laravel. After installing the package and following the setup guide, you can get started quickly using the repository CLI:

php artisan restify:repository Dream --all

The repository is the core of this package. The example command above would generate a blank repository that you could add fields to, like the following example:

namespace App\Restify;
 
use App\Models\Dream;
use Binaryk\LaravelRestify\Http\Requests\RestifyRequest;
 
class DreamRepository extends Repository
{
public static string $model = Dream::class;
 
public function fields(RestifyRequest $request): array
{
return [
id(),
field('title')->required(),
field('description'),
field('image')->image(),
];
}
}

If you don't define the $model property, Restify can guess based on the repository class name (i.e., DreamRepository would be the Dream model).

Here's an example of the built-in UserRepository class (you would want to protect this in a real app) that will return an API response in JSON API format:

GET: /api/restify/users?perPage=10&page=2
{
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/restify/users",
"per_page": 15,
"to": 1,
"total": 1
},
"links": {
"first": "http://localhost:8000/api/restify/users?page=1",
"next": null,
"path": "http://localhost:8000/api/restify/users",
"prev": null,
"filters": "/api/restify/users/filters"
},
"data": [
{
"id": "1",
"type": "users",
"attributes": {
"name": "Paul Redmond",
"email": "paul@example.com"
}
}
]
}

This package also walks you through the authentication process, advanced filtering, and more!

Learn More

To get started, I recommend watching the Restify Course, which has 24 lessons on using Restify to build an API with Laravel. You can also read the official documentation to install this package and start using it in your applications. Finally, you can see the source code and contribute on GitHub at BinarCode/laravel-restify.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Laravel Auditor Audits Your App With Your Own AI Agent image

Laravel Auditor Audits Your App With Your Own AI Agent

Read article
A simple form builder that stays out of your way image

A simple form builder that stays out of your way

Read article
Laravel AI: Trace Agent Runs With Lifecycle Events image

Laravel AI: Trace Agent Runs With Lifecycle Events

Read article
Laravel AI: Get Raw HTTP Responses and Rate Limits image

Laravel AI: Get Raw HTTP Responses and Rate Limits

Read article
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article