Chiarificazione REST del servizio Web

2

Sono nuovo nella programmazione di servizi Web e non sono sicuro di alcune cose. So che i servizi web REST possono essere utilizzati per interagire con il sistema in questo modo:

  • per recuperare un utente: GET / user? id = 1

  • per recuperare tutti gli utenti: GET / user

  • per inserire un utente: PUT / utente? {tutti i dati utente}

Quando devo eseguire un'azione di aggiornamento per alcune tabelle utilizzando un oggetto JSON, ciò può essere fatto con un'API REST o deve essere un'altra interfaccia? Se è REST, qual è il metodo giusto (GET, POST, DELETE, ecc.) Da usare?

È corretto avere due tipi di modelli nello stesso servizio web?

    
posta Andrea Catania 21.07.2014 - 15:10
fonte

1 risposta

2

Prima di rispondere alla tua domanda, un paio di punti sul tuo esempio:

  1. REST si basa sulle risorse, quindi l'ID per es. una risorsa Utente di solito fa parte del percorso della risorsa (piuttosto che un parametro di ricerca URL):

    GET /user/1

  2. L'inserimento è l'aggiunta di un'entità a una raccolta di risorse, quindi da inserire in es. una collezione di utenti di solito utilizzi qualcosa del tipo:

    POST(with user data in request body) /user/

Ora per rispondere alla tua domanda, gli aggiornamenti sono modifiche alle risorse esistenti, quindi solitamente vengono eseguiti con qualcosa di simile:

PUT(with user data in request body) /user/1

L' articolo di Wikipedia su REST è un buon riferimento di alto livello sull'argomento; in particolare, vedi la sezione Applicata ai servizi web .

Sull'argomento ci sono diverse domande di Stack Overflow, una delle quali è questo dal 2010 .

    
risposta data 21.07.2014 - 16:04
fonte

Leggi altre domande sui tag