0
0
Laravelframework~20 mins

API resource controllers in Laravel - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
API Resource Controller Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What is the output of this Laravel API resource controller method?
Consider a Laravel API resource controller with this method:
public function show($id) {
    return response()->json(['id' => $id, 'name' => 'Item '.$id]);
}

What JSON response will be returned when calling show(5)?
Laravel
public function show($id) {
    return response()->json(['id' => $id, 'name' => 'Item '.$id]);
}
A{"id":5,"name":"Item"}
B{"id":5,"name":"Item 6"}
C{"id":5,"name":"Item 5"}
D}"5 metI":"eman",5:"di"{
Attempts:
2 left
💡 Hint
Look at how the string concatenation works with the $id variable.
📝 Syntax
intermediate
2:00remaining
Which option correctly defines a Laravel API resource controller route?
You want to register a resource controller named ProductController for API routes in routes/api.php. Which route definition is correct?
ARoute::resource('products', 'ProductController');
BRoute::apiResource('products', ProductController);
CRoute::resource('products', ProductController::class);
DRoute::apiResource('products', ProductController::class);
Attempts:
2 left
💡 Hint
API resource routes exclude create/edit routes and require the controller class reference.
state_output
advanced
2:00remaining
What is the HTTP status code returned by this API resource controller method?
Given this method in a Laravel API resource controller:
public function store(Request $request) {
    $data = $request->validate(['name' => 'required']);
    $item = Item::create($data);
    return response()->json($item, 201);
}

What HTTP status code will the client receive after a successful POST request?
Laravel
public function store(Request $request) {
    $data = $request->validate(['name' => 'required']);
    $item = Item::create($data);
    return response()->json($item, 201);
}
A201
B400
C500
D200
Attempts:
2 left
💡 Hint
201 means resource created successfully.
🔧 Debug
advanced
2:00remaining
Why does this Laravel API resource controller method cause a runtime error?
Examine this method:
public function update(Request $request, $id) {
    $item = Item::findOrFail($id);
    $item->update($request->all);
    return response()->json($item);
}

What causes the error when calling this method?
Laravel
public function update(Request $request, $id) {
    $item = Item::findOrFail($id);
    $item->update($request->all);
    return response()->json($item);
}
AUsing $request->all without parentheses causes a runtime error.
BfindOrFail does not exist on the Item model.
Cupdate method requires a second argument for validation.
Dresponse()->json cannot return model instances.
Attempts:
2 left
💡 Hint
Check how methods are called on the Request object.
🧠 Conceptual
expert
2:00remaining
Which statement best describes the difference between Route::resource and Route::apiResource in Laravel?
Choose the most accurate explanation about these two routing methods:
ARoute::apiResource creates routes only for GET requests, Route::resource creates routes for all HTTP verbs.
BRoute::resource creates all RESTful routes including web views, while Route::apiResource excludes routes for create and edit views.
CRoute::resource is deprecated and replaced by Route::apiResource in Laravel 9+.
DRoute::apiResource automatically applies authentication middleware, Route::resource does not.
Attempts:
2 left
💡 Hint
Think about which routes are included or excluded for API-only controllers.