Pergunta

O que é o conjunto mínimo de HTTP verbos que um servidor deve permitir a um serviço web para ser classificado como RESTful?

E se o meu hoster não permite PUT e Excluir ?

É este realmente importante, eu posso viver feliz para sempre com apenas GET e POST ?


Update: Obrigado pelas pessoas respostas, a resposta de Roger foi provavelmente melhor por causa do link para a entrevista Bill Venners e Elliotte Rusty Harold. Agora eu obtê-lo.


Foi útil?

Solução

Sim, você pode viver sem PUT e DELETE.

Este artigo explica o porquê: http://www.artima.com/lejava/articles/why_put_and_delete.html

Enquanto os verdadeiros RESTafrians isso pode ser heresia, no mundo real, você faz o que você pode, com o que você tem. Seja tão racional quanto possível e tão consistente com sua própria convenção de como você pode, mas você definitivamente pode construir um bom sistema RESTful sem P e D.

rp

Outras dicas

Você também pode usar X-HTTP-verbo-Override: inst DELETE. de HTTP DELETE. Este também é útil para clientes Silverlight que não pode alterar o HTTP verbos e só recebem apoio e POST ...

Se você usar apenas GET e POST, ainda é RESTful. Seu serviço web só pode fazer coisas que só necessários GET ou POST, então isso é bom.

RESTO permite quebrar convenção do protocolo se as implementações do protocolo são quebradas (de modo que as únicas coisas fora do padrão que você faz são para contornar as peças quebradas da implementação). Por isso, é permitida dentro REST para usar algum outro método para representar verbos geralmente não suportados, como PUT DELETE ou.

Edit: Aqui está uma citação de Fielding, que é aquele que criou e definiu RESTO:

A API REST não deve conter quaisquer alterações aos protocolos de comunicação de lado de encher-out ou que fixa os detalhes de bits subespecificados de protocolos padrão, como do método HTTP PATCH ou link cabeçalho campo. Soluções alternativas para implementações quebradas (como os navegadores bastante estúpido para acreditar que HTML define o HTTP método set) devem ser definidas separadamente, ou pelo menos nos apêndices, com uma expectativa de que a solução acabará por ser obsoleto. [Falha aqui implica que as interfaces de recursos são específicos do objeto, não genérica.]

Hoje navegadores única alça recebe + POSTS. No Rails, por exemplo, coloca + exclusões são "falsificadas" por meio de campos de formulários ocultos.

A menos que seu quadro tem alguma solução para "apoiar" puts + apaga, não se preocupe com eles por agora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow