2010-10-05 19 views
19

Voglio porre alcune domande sulla chiamata REST. Sono il verde per la chiamata REST e mi piacerebbe che cosa è la chiamata REST e come utilizzare l'URL per inviare una chiamata REST al server. Qualcuno può darmi qualche tutorial di base o un link per il mio riferimento?Che cos'è la chiamata REST e come inviare una chiamata REST?

Inoltre, se desidero inviare una chiamata REST al server, cosa devo fare? Devo impostare qualcosa nell'URL? o impostare qualcosa nel server? Grazie.

+2

Il tag "REST" di StackOverflow ha una pagina su cui sono disponibili collegamenti utili: http://stackoverflow.com/tags/rest/info –

+1

Questa domanda è stata posta molte volte prima di qui. Hai cercato domande esistenti? –

+2

@DarrelMiller Se è stato chiesto molte volte in precedenza, è necessario contrassegnarlo come duplicato. –

risposta

15

REST è solo uno stile di architettura software per esporre le risorse.

  • Utilizzare i metodi HTTP in modo esplicito.
  • Essere apolidi.
  • Esporre gli URI di struttura di directory.
  • Trasferimento XML, JavaScript Object Notation (JSON) o entrambi.

Una tipica chiamata REST per restituire informazioni su 34.456 clienti potrebbe essere simile:

http://example.com/customer/34456 

Date un'occhiata al IBM tutorial per i servizi web REST

+3

REST non è limitato a tipi di supporti particolari. Usa test/plain, image/jpeg, text/html, application/xhtml, crea il tuo. –

9

REST è un po 'di una rinascita di vecchiaia scuola HTTP, dove i veri verbi HTTP (comandi) hanno un significato semantico. Fino a poco tempo fa, le app che volevano aggiornare roba sul server avrebbero fornito un modulo contenente una variabile "azione" e una serie di dati. Il comando HTTP sarebbe quasi sempre GET o POST e sarebbe quasi irrilevante. (Anche se c'è sempre stata una proscrizione contro l'utilizzo di GET per le operazioni che hanno effetti collaterali, in realtà molte app non si preoccupano del comando usato.)

Con REST, si potrebbe invece PUT /profiles/cHao e inviare un XML o Rappresentazione JSON delle informazioni del profilo. (O meglio, lo farei - dovresti aggiornare il tuo profilo. :) Ciò comporterebbe l'accesso, di solito tramite i meccanismi di autenticazione incorporati di HTTP.) In quest'ultimo caso, ciò che vuoi fare è specificato dal URL e il corpo della richiesta è solo l'anima della risorsa coinvolta.

http://en.wikipedia.org/wiki/Representational_State_Transfer ha alcuni dettagli.

+0

grazie per la risposta. Ma ancora non capisco completamente. Vuoi dire che devo impostare qualcosa nel .xml, o semplicemente aggiungere il para nell'URL come GET. – Questions

+0

@Questions: di solito non ci sono "parametri" nello stesso modo in cui li useresti in una richiesta GET. 'PUT/profiles/cHao' dice cosa fare, dal momento che un servizio RESTful espone'/profiles/cHao' come una risorsa (ad esempio: potrei anche 'GET/profiles/cHao' e recuperare una versione XML o JSON del mio profilo), e la parte 'PUT' dice che voglio sostituirlo. Le uniche cose che dovrebbero essere impostate sono il corpo della richiesta (es: il profilo stesso, che di solito sarà in XML o JSON) e un nome utente e una password o un certificato client (poiché la maggior parte dei servizi non permetterà agli estranei di modificare la cose). – cHao

Problemi correlati