
In the earliear examples i was genreting Json resource which is wrapped with "data:"{}
Object like:
{
"data": {
"id": 3,
"name": "Deepak",
"email": "deepakkumar.ac.in@gmail.com",
"profile": "http://demo-app/user/3"
},
"version": "2.0.0",
"attribution": "http://demo-app/terms-of-service",
"valid_as_of": "Sat, 22 Aug 2020 08:25:40"
}
- Lets see where i will make Changes in code.
NOte: Make sure you have Resourec folder with User class under
<Your-app>\app\http\Resources
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use Illuminate\Support\Facades\Log;
class User extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'profile' => url('/user/'. $this->id . '/'),
];
}
}
We will tell laravel to not to render Json resource with Wrapping
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Http\Resources\Json\Resource;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Resource::withoutWrapping();
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
<?php
use App\User;
use App\Http\Resources\User as UserResource;
Route::get('/', function () {
return view('welcome');
});
Route::get('/json', function () {
$users = User::first();
return new UserResource($users);
});
- Here my Application is
'demo-app'
and its virtual host url ishttp://demo-app/
. So i will open browser and hit:http://demo-app/json
and see tha magic of LARAVEL RESOURCES
My basic recommendation for learning : Eloquent: API Resources



MotoShare.in is your go-to platform for adventure and exploration. Rent premium bikes for epic journeys or simple scooters for your daily errands—all with the MotoShare.in advantage of affordability and ease.