Junior — Middle
Milyen módszerekkel lehet feldolgozni és befejezni egy kérést a frontendben 201-es státusszal, ha orderNotFound hibával Springben?
sobes.tech MI
Válasz az MI-től
Ha a frontend kérésre 201 (Created) státuszt kap, de a válasz törzsében orderNotFound hiba szerepel, ezt a következőképpen lehet kezelni:
- A válasz törzsének ellenőrzése: A 201 státusz ellenére is elemezni kell a válasz tartalmát hibák szempontjából.
- Hiba kezelése a frontendben: Például, ha az API JSON-t ad vissza egy hibamezővel, akkor a felhasználónak megfelelő üzenetet lehet megjeleníteni.
- A kérés befejezése: A hiba kezelése után a kérés helyesen befejezhető, például az UI állapotának frissítésével vagy a felhasználó átirányításával.
JavaScript példakód fetch használatával:
fetch('/api/orders', { method: 'POST', body: JSON.stringify(orderData) })
.then(response => response.json().then(data => ({ status: response.status, body: data })))
.then(({ status, body }) => {
if (status === 201 && body.error === 'orderNotFound') {
// Hiba kezelése
alert('Rendelés nem található');
// További lépések, például a űrlap alaphelyzetbe állítása
} else if (status === 201) {
// Rendelés sikeresen létrejött
console.log('Rendelés létrejött', body);
} else {
// Egyéb státuszok kezelése
}
})
.catch(error => {
console.error('Hívási hiba:', error);
});
Így még 201 státusszal is lehet helyesen kezelni a hibát, ha az a válasz törzsében van.