Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

elo's avatar
Level 3

How do I implement API delete endpoint for authorized user only

Hi, I have created API endpoints using Passport for authorization and API resource feature. My goal is to allow everyone get api/books and api/books/book but only authorized users can update and delete. This is the code I am working with in BookController

public function __construct()
    {
        $this->middleware('auth:api')->except(['index', 'show']);
    }

public function destroy(Book $book)
    {
        $book->delete();

        return response()->json(null, 204);
    }

Right now any logged in user can delete any book. What I want is to allow delete only if the logged in user()->id === book->user_id, so I have modified my code like so

public function destroy(Request $request, Book $book)
    {
        // Delete book only if user_id matches book's user_id
        if ($request->user()->id === $book->user_id) {
            $book->delete();

            return response()->json(null, 204);
        } else {
            response()->json(['error' => 'You do not have the permission for this operation'], 403);
        }
    }

When I delete a book owned by the logged in user, the operation is successful and 204 status code is returned. But if the book doesn't belong to the user, i get a 200 ok status and book is not deleted. I want to display the error message in this case.

How do I fix it?

0 likes
3 replies
Snapey's avatar
Snapey
Best Answer
Level 122

return the response

you are missing return on the last line

1 like
elo's avatar
Level 3

Thanks, another reason why I should take a break and read over my code again.

paetastaval1989's avatar

Xenical Kaufen. Visum bezahlen. Zuverlässige Apotheke - Klicken Sie hier === http://url-qr.tk/Xenical === Gehen Sie zur Apotheke. Benötigen Sie zuverlässige, hochwertige Medikamente, möchten aber Ihr Haus nicht verlassen, um sie zu kaufen? Suchen Sie nicht weiter als in unserer Online-Apotheke! Genießen Sie eine große Auswahl an hochwertigen Medikamenten zu günstigen Preisen. Pluspunkte, erhalten Sie sogar Einsparungen bei den Ergänzungen. Mit unserem sicheren Checkout-System können Sie sicher sein, dass Ihre Einkäufe sicher und diskret sind. Holen Sie sich die Medikamente, die Sie heute brauchen, wenn Sie in unserer Online-Apotheke kaufen!

  • Schnelle Lieferung und absolute Privatsphäre

  • Bonuspillen und große Rabatte auf jede nächste Bestellung

  • Verschiedene Zahlungsmethoden: MasterCard / Visa / AMEX / Banküberweisung / PayPal / iDeal / BlueCard / Bitcoin

  • Bis zu 70 % günstiger als in Ihrer Apotheke vor Ort.

  • Pharmazeutische Qualität und Dosierung.

  • Absolut anonym und legal. Xenical Kaufen

  • Niedriger Preis für hochwertige Medikamente

  • Ihre volle Zufriedenheit garantiert oder Ihr Geld zurück Xenical Jul 2, 2023 · Xenical Anwendung bei Übergewicht Xenical ab EUR 61 64 im Preisvergleich 28 Angebote, Preise vergleichen und günstig kaufen! Xenical wird angewendet bei: Übergewicht Xenical 120 mg Hartkapseln Bei Xenical 120 mg Hartkapseln handelt es sich um ein Arzneimittel von CHEPLAPHARM Arzneimittel GmbH Erhältlich in folgenden Packungsgrößen: 84 Stück und 42 Stück Zu eventuellen Neben- Wechselwirkungen oder Unverträglichkeiten informiert Sie die Packungsbeilage oder fragen Sie Ihren Arzt oder Apotheker Was ist der Unterschied zwischen Orlistat und Xenical?12 Angebote zu Xenical im Medikamenten Preisvergleich Xenical günstig kaufen und sparen bei medizinfuchs deXenical 120mg 42 Stück von CHEPLAPHARM Arzneimittel GmbH bestellen bei medpex Apothekenversand Sie können Xenical gefahrlos auf der Deutsche Medz-Webseite erwerben Zunächst ist es notwendig, an einer Online-Beratung mit einem Arzt teilzunehmen, bevor das Medikament bereitgestellt werden kann Die Online-Beratung stellt sicher, dass Xenical als Medikament für Sie geeignet ist Was sind die Anzeichen von Überempfindlichkeit bei Xenical?Was ist Xenical und wie wirkt es?People also askWie oft sollte man Xenical einnehmen?See full list on medizinfuchs de

Please or to participate in this conversation.