From bd1176fbc3342193d31712aa7672de83d443d2eb Mon Sep 17 00:00:00 2001 From: Shay Patel Date: Wed, 24 Dec 2025 14:13:12 +0000 Subject: [PATCH] Add more informative 404 message --- .../java/services/shay/shortlink/ShortLinkController.java | 4 ++-- frontend/app/manage/[id]/page.tsx | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/services/shay/shortlink/ShortLinkController.java b/backend/src/main/java/services/shay/shortlink/ShortLinkController.java index 216341a..7872752 100644 --- a/backend/src/main/java/services/shay/shortlink/ShortLinkController.java +++ b/backend/src/main/java/services/shay/shortlink/ShortLinkController.java @@ -20,7 +20,7 @@ public class ShortLinkController { } @GetMapping("/{code}") - public ResponseEntity redirectToUrl(@PathVariable String code) { + public ResponseEntity redirectToUrl(@PathVariable String code) { ShortLink sl = shortLinkRepository.findByCode(code).orElse(null); if (sl != null) { sl.setClicks(sl.getClicks() + 1); @@ -30,7 +30,7 @@ public class ShortLinkController { .location(URI.create(sl.getUrl())) .build(); } - return ResponseEntity.notFound().build(); + return ResponseEntity.status(404).body("The requested link was not found on the server"); } @PostMapping diff --git a/frontend/app/manage/[id]/page.tsx b/frontend/app/manage/[id]/page.tsx index 14ff2c4..c1c9d88 100644 --- a/frontend/app/manage/[id]/page.tsx +++ b/frontend/app/manage/[id]/page.tsx @@ -2,7 +2,7 @@ import { deleteLink, getLinkInfo } from "@/app/utils/api"; import { Clipboard } from "lucide-react"; -import { useParams } from "next/navigation"; +import { redirect, useParams } from "next/navigation"; import { useEffect, useState } from "react"; export default function Home() { @@ -28,8 +28,7 @@ export default function Home() { setLoading(true); try { await deleteLink(params.id?.toString() || ""); - setSuccessMessage("Link deleted!"); - setErrorMessage(null); + redirect("/"); } catch (err) { console.error(err); setErrorMessage("Failed to delete the link. Please try again.");