From def6cac592dd49e05f22696981bfe66d339acc66 Mon Sep 17 00:00:00 2001 From: MCMichinator Date: Sun, 10 Nov 2024 14:30:49 +0100 Subject: [PATCH] =?UTF-8?q?Detalierte=20Fehlermeldung=20f=C3=BCr=20die=20A?= =?UTF-8?q?PI-Verbindung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/BookService.js | 42 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/pages/BookService.js b/src/pages/BookService.js index 82ca13b..26ed099 100644 --- a/src/pages/BookService.js +++ b/src/pages/BookService.js @@ -1,4 +1,5 @@ -import axios from 'axios' +// VERSION 1: +/*import axios from 'axios' const baseUrl = 'http://localhost:8001/api/v1/book/registration/search/isbn/' // Passe die URL an @@ -16,8 +17,47 @@ export default { // Zeige dem Benutzer eine informative Fehlermeldung an }) }, +}*/ + +// ******************************** +// VERSION 2: +import axios from 'axios' + +const baseUrl = 'http://localhost:8001/api/v1/book/registration/search/isbn/' + +export default { + async getBookByIsbn(isbn) { + try { + const response = await axios.get(`${baseUrl}${isbn}`, { + timeout: 5000, // Adjust timeout as needed + }) + + return response.data + } catch (error) { + console.error('Fehler beim Abrufen des Buches:', error) + console.error('Antwort vom Server:', error.response) + + // Detailliertere Fehlerbehandlung basierend auf dem Fehlertyp + if (error.response && error.response.status === 404) { + console.error('Buch nicht gefunden') + } else if (error.code === 'ECONNABORTED') { + console.error('Verbindungsabbruch') + } else if (error.response && error.response.status === 500) { + console.error('Interner Serverfehler') + } else { + console.error('Unbekannter Fehler') + } + + // Zeige dem Benutzer eine benutzerfreundliche Fehlermeldung an + throw new Error('Ein Fehler ist beim Abrufen des Buchs aufgetreten.') + } + }, } + + +// ******************************** +// VERSION 3: /*const axios = require('axios') export default {