Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
<?php // app/Http/Controllers/DocumentController.php namespace App\Http\Controllers; use App\Models\Document; use Illuminate\Http\JsonResponse; use Illuminate\Http\Response; class DocumentController extends Controller { public function __construct() { // Apply auth middleware to all except index $this->middleware('auth')->except('index'); // Apply throttle to store $this->middleware('throttle:10,1')->only('store'); } public function show(Document $document): JsonResponse { // Authorize using a policy $this->authorize('view', $document); return response()->json([ 'data' => $document, ], 200, ['X-Custom-Header' => 'value']); } public function download(Document $document): Response { $this->authorize('download', $document); return response()->download( storage_path('app/' . $document->path), $document->original_name ); } public function destroy(Document $document): JsonResponse { $this->authorize('delete', $document); $document->delete(); return response()->json(['message' => 'Deleted.'], 200); } }
Result
Open