Pergunta

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

E se meu hoster não permitir COLOCAR e EXCLUIR?

Isso é realmente importante, posso viver feliz para sempre com apenas PEGAR e PUBLICAR ?


Atualizar: Obrigado pelas respostas pessoal, A resposta de Rogério provavelmente foi melhor por causa do link para a entrevista de Bill Venners e Elliotte Rusty Harold.Agora entendi.


Foi útil?

Solução

Sim, você pode viver sem PUT e DELETE.

Este artigo explica por quê:http://www.artima.com/lejava/articles/why_put_and_delete.html

Embora para os verdadeiros RESTafrianos isso possa ser uma heresia, no mundo real você faz o que pode, com o que tem.Seja o mais racional possível e o mais consistente possível com sua própria convenção, mas você pode definitivamente construir um bom sistema RESTful sem P e D.

rp

Outras dicas

Você também pode usar X-Http-Verb-Override:DELETE inst.de HTTP DELETE.Isso também é útil para clientes Silverlight que não podem alterar os verbos HTTP e suportam apenas GET e POST...

Se você usar apenas GET e POST, ainda será RESTful.Seu serviço da web só pode fazer coisas que exigem apenas GET ou POST, então tudo bem.

REST permite quebrar a convenção do protocolo se as implementações do protocolo forem quebradas (de modo que as únicas coisas não padrão que você faz são contornar as partes quebradas da implementação).Portanto, é permitido no REST usar algum outro método para representar verbos geralmente não suportados, como DELETE ou PUT.

editar:Aqui está uma citação de Fielding, que criou e definiu REST:

Uma API REST não deve conter nenhuma alteração nos protocolos de comunicação além do preenchimento ou correção de detalhes de bits subespecificados de protocolos padrão, como o método PATCH do HTTP ou o campo de cabeçalho do link.Soluções alternativas para implementações quebradas (como aqueles navegadores estúpidos o suficiente para acreditar que o HTML define o conjunto de métodos HTTP) devem ser definidas separadamente, ou pelo menos em apêndices, com a expectativa de que a solução alternativa eventualmente se tornará obsoleta.[A falha aqui implica que as interfaces de recursos são específicas do objeto, e não genéricas.]

Os navegadores atuais apenas lidam com GETS + POSTS.No Rails, por exemplo, PUTS + DELETES são “falsificados” através de campos de formulário ocultos.

A menos que sua estrutura tenha alguma solução alternativa para "suportar" PUTS + DELETES, não se preocupe com eles por enquanto.

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