diff --git a/RestroHub-FrontEnd/src/services/public/ApiService.js b/RestroHub-FrontEnd/src/services/public/ApiService.js index a09f061..9a8904c 100644 --- a/RestroHub-FrontEnd/src/services/public/ApiService.js +++ b/RestroHub-FrontEnd/src/services/public/ApiService.js @@ -18,12 +18,25 @@ const apiRequest = async (endpoint, options = {}) => { }; const response = await fetch(url, { ...defaultOptions, ...options }); - - if (!response.ok) { - throw new Error(`API Error: ${response.status} ${response.statusText}`); + if (!response.ok) { + let errorMessage = `API Error: ${response.status}`; + + try { + const errorData = await response.json(); + errorMessage = errorData.message || errorMessage; + } catch (err) { + console.error("Failed to parse error response:", err); } - - return response.json(); + + throw new Error(errorMessage); +} + +try { + return await response.json(); +} catch (err) { + console.error("Failed to parse response JSON:", err); + throw new Error("Invalid server response"); +} }; const ApiService = {