Pergunta

Estou desenvolvendo uma API RESTful simples, e totalmente no amor com a forma como minimalista que é. Mas eu sou incerto quanto aos códigos de resposta HTTP corretas para várias situações:

  1. incorretamente formada consulta

  2. consulta corretamente formada refere-se a um recurso que não existe

  3. Resource sucesso Suprimido

  4. Resource sucesso editado

Atualmente estou pensando que 1 seria 403 Forbidden; 2 seria 410 Gone; 3 e 4 seriam 202 Accepted. Será que eles parece certo?

Foi útil?

Solução

Para # 1, 403 sugere a sua aplicação entendeu o pedido, mas não vai cumpri-lo (ou seja, usuário atual não tem permissão para fazer isso por algum motivo). Eu acho que 400 ruim pedido poderia fazer mais sentido neste caso.

Para # 2 - Eu acho que 404 faria mais sentido ou seja, recurso não for encontrado, a menos que o recurso existia em algum momento, e, em seguida, foi suprimido, caso em que 410 seria justo -., mas não muitos clientes sabem o que fazer com 410

Para # 3 e # 4 -. 200 se processou a eliminação com sucesso, 202 se a exclusão é na fila e será tratado em uma data posterior "fora da banda"

RFC 2616 fornece grandes explicações sobre o que significa cada código de resposta em termos bastante compreensível.

Outras dicas

  1. 400
  2. 404
  3. 200
  4. 200
  5. 201 - recurso criado com sucesso

1). 400 - padrão ruim pedido, 403 significa que o pedido está formatado corretamente, mas você não tem permissão para acessá-lo

2). 404 - a 410 implica que o recurso existia, mas foi deliberadamente movida

3). e 4). 200 se a ação aconteceu com sucesso pelo tempo que você enviar a resposta, 202 se a ação está pendente. Na prática 202 é provável para ações de exclusão (onde eles podem estar sujeitos a revisão), mas você pode ou não pode querer voltar imediatamente a 200 de qualquer maneira para que ela apareça realmente excluídos para o usuário. Isso é um imho questão de design.

obter a Richardson & rubi livro - tem um apêndice útil sobre a sua pergunta e é leitura obrigatória de qualquer maneira

por que não usar o http códigos de resposta . Você deseja obter todas as otimizações (para ex, 303, 304) / put infra-estrutura no local para http gratuitamente.

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