Sobes.tech
Junior — Middle

Akými metódami je možné spracovať a dokončiť požiadavku na frontende s kódom 201 pri chybe orderNotFound v Springu?

sobes.tech AI

Odpoveď od AI

Ak pri požiadavke na frontend dostanete stav 201 (Created), ale v tele odpovede je obsiahnutá chyba orderNotFound, môžete to spracovať nasledovne:

  1. Skontrolujte telo odpovede: Napriek stavu 201 je potrebné analyzovať obsah odpovede na prítomnosť chýb.
  2. Spracovanie chyby na frontend: Napríklad, ak API vracia JSON s poľom chyby, môžete zobraziť vhodnú správu používateľovi.
  3. Ukončenie požiadavky: Po spracovaní chyby môžete požiadavku správne ukončiť, napríklad aktualizáciou stavu UI alebo presmerovaním používateľa.

Príklad v JavaScript s použitím fetch:

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') {
      // Spracovanie chyby
      alert('Objednávka nenájdена');
      // Dodatočné akcie, napríklad reset formulára
    } else if (status === 201) {
      // Objednávka úspešne vytvorená
      console.log('Objednávka vytvorená', body);
    } else {
      // Spracovanie iných stavov
    }
  })
  .catch(error => {
    console.error('Chyba požiadavky:', error);
  });

Týmto spôsobom je možné aj pri stave 201 správne spracovať chybu, ak je prítomná v tele odpovede.