Domanda

Qual è l'insieme minimo di verbi HTTP che un server dovrebbe consentire affinché un servizio Web venga classificato come RESTful?

E se il mio hoster non lo permettesse? METTERE E ELIMINARE?

È davvero importante, posso vivere felici e contenti con just OTTENERE E INVIARE ?


Aggiornamento: Grazie per le risposte gente, La risposta di Ruggero probabilmente era la cosa migliore per via del collegamento all'intervista di Bill Venners ed Elliotte Rusty Harold.Ora capisco.


È stato utile?

Soluzione

Sì, puoi vivere senza PUT e DELETE.

Questo articolo ti spiega perché:http://www.artima.com/lejava/articles/why_put_and_delete.html

Anche se per i veri RESTafriani questa può essere un'eresia, nel mondo reale fai quello che puoi, con quello che hai.Sii il più razionale possibile e coerente con la tua convenzione, ma puoi sicuramente costruire un buon sistema RESTful senza P e D.

p.p

Altri suggerimenti

Puoi anche usare X-Http-Verb-Override:DELETE inst.di HTTP DELETE.Ciò è utile anche per i client Silverlight che non possono modificare i verbi HTTP e supportano solo GET e POST...

Se usi solo GET e POST, è comunque RESTful.Il tuo servizio web può fare solo cose che richiedono solo GET o POST, quindi va bene.

REST consente di infrangere la convenzione del protocollo se le implementazioni del protocollo sono interrotte (in modo che le uniche cose non standard che fai siano aggirare le parti interrotte dell'implementazione).Quindi è consentito all'interno di REST utilizzare qualche altro metodo per rappresentare verbi generalmente non supportati come DELETE o PUT.

modificare:Ecco una citazione di Fielding, che è colui che ha creato e definito REST:

Un'API REST non dovrebbe contenere alcuna modifica ai protocolli di comunicazione oltre alla compilazione o alla correzione dei dettagli di bit sottospecificati dei protocolli standard, come il metodo PATCH di HTTP o il campo dell'intestazione del collegamento.Le soluzioni alternative per implementazioni non funzionanti (come quei browser abbastanza stupidi da credere che HTML definisca il set di metodi HTTP) dovrebbero essere definite separatamente, o almeno nelle appendici, con l'aspettativa che la soluzione alternativa alla fine diventi obsoleta.[Il fallimento qui implica che le interfacce delle risorse sono specifiche dell'oggetto, non generiche.]

I browser Web di oggi gestiscono solo GETS + POSTS.In Rails, ad esempio, PUTS + DELETES vengono "falsificati" tramite campi modulo nascosti.

A meno che il tuo framework non abbia qualche soluzione alternativa per "supportare" PUTS + DELETES, per ora non preoccuparti di loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top