Sobes.tech
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:

  1. 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.
  2. 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.
  3. 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.