NodeJs/Express

di il
6 risposte

NodeJs/Express

Ciao scrivo qui perchè non c'e' una sezione dedicata a Node.
Il mio dubbio è questo, come puo' l'amministratore eseguire interrogazioni su route che non siamo post e get?
ad esempio:
app.put('/user/:id', function ...ecc...
Come si puo' eseguire un comando CURL come put o delete via browser e quindi non usando il comando curl oppure usando Postman?

Grazie

6 Risposte

  • Re: NodeJs/Express

    Ciao wooding,
    Scusa ma non sono riuscito a capire bene: stai chiedendo come gestire la richiesta 'put' (per esempio) tramite express, oppure hai bisogno di sapere come controllare che la route funzioni utilizzando postman?
  • Re: NodeJs/Express

    Rileggendo meglio la domanda, mi sembra che tu voglia interrogare l'API che hai creato tramite il browser. Ciò è possibile solo utilizzando javascript (che in fin dei conti è probabilmente quello che vuoi fare). Puoi farlo utilizzando l'API XmlHTTPRequest, oppure la Fetch API (molto più semplice a mio parere).

    Con la Fetch API il codice assomiglierebbe a questo:
    
    async function PUTRequest() {
    	
    	let data = {
    		// dati da inviare all'API
    	};
    	let url = "https://....";
    	
    	let request = fetch(url, {
    		method: "PUT",
    		body: JSON.stringify(data)
    	});
    }
    
    Se hai bisogno di altro aiuto (o se ho frainteso la domanda) scrivi pure
  • Re: NodeJs/Express

    Ciao Andrea, scusa per la risposta tardiva. Si hai capito bene la domanda era come poter fare un PUT su una rotta da browser visto che da browser si possono fare solo richieste GET e POST.
    Mi pare di aver capito che confermi l'impossibilità di fare ciò, ne deduco quindi che dovrei "racchiudere" il codice che hai scritto richiamandolo per esempio da un pulsante.
    Ad esempio se ho questa rotta dove metto il tuo codice...
    router.put('/', function(req, res, next) {
    async function PUTRequest() {

    let data = {
    // dati da inviare all'API
    };
    let url = "https://....";

    let request = fetch(url, {
    method: "PUT",
    body: JSON.stringify(data)
    });
    }
    });
    Come richiamo '/' in PUT?
  • Re: NodeJs/Express

    Ciao wooding,
    In realtà io intendevo dire che dal browser si può utilizzare javascript per effettuare la richiesta PUT, e il codice che ti ho indicato serve a fare proprio questo

    Con l'introduzione di Node, in diversi stanno avendo un po' di difficoltà a capire dove il proprio codice viene eseguito. Quando si scrive un file javascript per essere eseguito da Node, questo verrà eseguito nel server. I file javascript che vengono inclusi nelle pagine web (tag <script src="..."> per intenderci) vengono invece eseguiti dal browser.
    Nel browser puoi eseguire del javascript (quello indicato nella risposta precedente) che effettua una richiesta di qualsiasi genere, non solo POST e GET, ma anche PUT, HEAD, DELETE e altro.

    L'idea di far eseguire il codice alla pressione di un pulsante va benissimo, ma questo significa che il codice non va incluso nella route in express, ma in un file javascript separato che andrà inviato insieme alla pagina web dalla quale vuoi richiamare la tua route.
  • Re: NodeJs/Express

    Quindi il codice che hai scritto:
    async function PUTRequest() {

    let data = {
    // dati da inviare all'API
    };
    let url = "https://....";

    let request = fetch(url, {
    method: "PUT",
    body: JSON.stringify(data)
    });
    }
    deve essere caricato da uno script nel browser il quale manderà la richiesta alla rotta PUT '/' che aggiornerà ad esempio un oggetto json..
    Ho capito bene?
  • Re: NodeJs/Express

    Ciao wooding,
    Sì, hai capito bene
    Ovviamente dovrai modificarne alcune parti, come l'indirizzo al quale inviare la richiesta (che dovrà corrispondere alla tua route) e i dati da inviare, ma il concetto è quello.
Devi accedere o registrarti per scrivere nel forum
6 risposte