‫Dopo aver ricevuto e pubblicato, impariamo tutti a
‫gestire le richieste di
‫patch per aggiornare effettivamente i dati.
‫E sono abbastanza sicuro che a questo punto
‫tu abbia già una buona idea
‫di come lo faremo.
‫Quindi facciamolo dopo il post,
‫quindi quaggiù, e ricorda
‫che in realtà abbiamo due metodi http per aggiornare
‫i dati.
‫Abbiamo messo e abbiamo patch.
‫E con put ci aspettiamo che
‫la nostra applicazione riceva l'intero nuovo oggetto aggiornato
‫e con patch ci aspettiamo solo le
‫proprietà che dovrebbero essere effettivamente aggiornate sull'oggetto, va bene?
‫Quindi, di solito, mi piace
‫usare patch, perché trovo più semplice aggiornare semplicemente le proprietà
‫che sono state aggiornate.
‫Almeno, quando inizieremo a usare MongoDB
‫e Mongoose, sarà molto più semplice farlo così, ok?
‫Ed è anche più
‫semplice per l'utente inviare semplicemente i dati che
‫stanno cambiando, invece di dover inviare l'intero nuovo oggetto.
‫Quindi, di nuovo, faremo funzionare la nostra app
‫per patch e non per put.
‫Quindi ci aspettiamo che arrivi una richiesta di patch
‫sull'URL proprio come prima, "api/v1/tours", e ora in realtà abbiamo
‫anche bisogno dell'ID del tour
‫che dovrebbe essere aggiornato.
‫E quindi questo è slash e poi "id. "Va bene,
‫questo è quello che abbiamo imparato nell'ultima lezione.
‫Quindi, cosa vogliamo fare quando c'è una richiesta di patch,
‫quindi quando vogliamo aggiornare i dati?
‫Bene, in realtà, non implementerò davvero
‫questa operazione qui, perché è solo questione di
‫scrivere altro JavaScript
‫che non è molto importante,
‫perché, di nuovo, si tratta solo di testare file che utilizzano API.
‫Nel mondo reale, comunque, non useremo mai i
‫file per quello, ok.
‫Quindi, sto solo implementando tutti questi verbi qui
‫in modo che tu abbia una buona idea
‫dei diversi verbi
‫che usiamo con http, il tipo di codici di stato
‫che inviamo indietro, ad esempio, qui abbiamo inviato 201, mentre
‫qui abbiamo inviato 200 e 400, e anche per esempio,
‫qui, quando abbiamo avuto più tour, abbiamo
‫inviato i risultati, e quando abbiamo creato un
‫nuovo tour, abbiamo inviato indietro quei dati immediatamente, con questo nuovo
‫tour che è stato creato, e quindi questo è il genere
‫di cose che voglio che tu impari
‫per ora, in questa sezione.
‫Quindi le basi per lavorare con Express, ovviamente,
‫e anche il modo corretto di inviare le risposte
‫API, ok, e quindi, di nuovo, non implementerò l'aggiornamento di
‫tour qui, perché sarebbe molto
‫di lavoro, dovresti ottenere il tour dal file JSON,
‫quindi modificare quel tour e quindi salvarlo di nuovo nel file.
‫E questo è un po'
‫troppo lavoro qui,
‫quindi usciamo e rimandiamo una risposta standard.
‫Quindi "risposta. status" e utilizzeremo ancora
‫200 qui, quindi quando
‫aggiorniamo un oggetto o una
‫risorsa, inviamo
‫200, okay, e poi il
‫solito JSON con lo stato di successo.
‫E poi inviamo i dati e, in questo caso,
‫il tour aggiornato.
‫Quindi diciamo "tour" e poi qui,
‫in questa posizione, rimandiamo il tour aggiornato, ok.
‫In questo momento, manderò indietro una stringa che dice
‫"tour aggiornato qui... ," qualcosa come questo.
‫Quindi, in pratica, solo un segnaposto qui.
‫E possiamo anche implementare questo codice qui, quindi per
‫inviarlo solo quando l'ID è effettivamente
‫valido, quindi prendiamolo da qui, e quindi
‫in questo modo, possiamo anche usare effettivamente questo ID qui.
‫Destra.
‫Quindi non faremo
‫questo perché non abbiamo nessun tour, ma useremo questo.
‫Quindi questo sarà "req. parametri. id", e lo
‫sto convertendo in un numero anche qui, per 1, e se è
‫maggiore della lunghezza del tour, beh, proprio
‫come prima, è un ID non valido
‫e inviamo un 404, per non trovato .
‫E così in questo modo, ora dovremmo essere pronti per testarlo.
‫Quindi, prima di tutto salviamo la richiesta che abbiamo
‫fatto nella lezione precedente.
‫Quindi, basta "Fai il tour. "E vado
‫avanti e copio questo qui.
‫E specifichiamo il metodo patch.
‫Quindi questa è la patch e la salverò subito qui come "Tour di
‫aggiornamento. "Va
‫bene, e vedete che questo qui ottiene questo testo
‫grigio, quindi sono molto facili da distinguere
‫qui in questa colonna laterale.
‫Quindi in realtà dovremmo specificare un corpo qui, quindi
‫andiamo avanti e copiarlo da
‫qui, quindi ricorda, corpo, raw e poi JSON, proprio come questo, e
‫quindi, diciamo
‫che tutto ciò che voglio fare
‫è cambiare il tour numero tre, diciamo, quindi diamo
‫un'occhiata a quello, quindi, uno, due, tre, e voglio
‫cambiare la durata a quindici.
‫Va bene. Salvarlo di nuovo.
‫Salverò anche questo, perché
‫allora salverà effettivamente questo testo qui in un corpo, e se lo chiudo
‫e lo riapro più tardi, allora tutto questo testo
‫qui è tornato, e questo renderà
‫la mia vita molto più facile allora.
‫Ok, ma comunque, torniamo a questo.
‫Impostiamo la durata a quindici.
‫Ora, tieni presente che
‫questo ovviamente non cambierà nulla
‫nei dati perché non l'abbiamo implementato.
‫Ok, mando subito la risposta.
‫E così, qui vediamo "updated_tour_here... ," proprio nel
‫punto in cui nel
‫mondo reale otterremmo i dati aggiornati.
‫Giusto, solo per testarlo con un ID sbagliato, otteniamo questo "fallito"
‫e questo "ID non valido. "Va
‫bene, quindi salvalo e chiudilo,
‫e chiuderò anche questo.
‫Ok, ho quasi finito con le operazioni CRUD, quindi
‫crea, leggi, aggiorna ed elimina e, come puoi sentire, l'ultimo
‫che manca è l'eliminazione, quindi ce
‫ne occuperemo nel prossimo video.