Executando verificação de segurança...
5

Fala amigo tudo certo?

Depois de ter construido e trabalhado em diversas APIs a resposta para sua pergunta é:

Sim, importa

Ainda mais quando falamos em APIs de consumo comercial

Muitos sistemas por ai não lidam com parse de body, somente com httpcode no response da requisição.

Há também verbos de requisições, que normalmente ou é muito comum, não retornarem dados de body como POST, PUT, DELETE quando o httpcode é 2XX

Além disso, quem trabalha rotineiramente com APIs os httpcodes são meio que norteadores de como lidar com aquela API, além óbvio de uma boa documentação.

Você deve estar num momento de construção de uma API e está "quebrando a cabeça" para entender ou definir os responses e por isso está com essa "preguiça" de fazer essas definições e por isso eu digo:

Deixa de preguiça

Por experiência própria, melhor tomar um pouco mais de tempo definindo os httpcodes responsáveis pelo comportamento de cada tipo de retorno do que posteriormente ficar recebendo dúvidas de cliente que quer fazer chamada de video de meia hora pra falar que sua API não está funcionando porque a requisição dele está retornando codigo 200 e nada está acontecendo.

"Mas é chamadinha de meia hora é rapidinho!"

aham... imagine isso todo dia com 4~5 clientes?

Pensa no seguinte cenário:

Consumo sua API, mas estou sem saldo ou bloqueado por falta de pagamento.

httpcode retorna 200 e o body dizendo

"opa, você está sem saldo"

Consumo sua api, mas usei parametro errado. retorna 200 e o body dizendo:

"parametro errado, tente novamente"

Consumo sua api, mas deu erro interno no seu servidor. retorna 200 e body dizendo

"erro interno"

Vê como fica complicado?

Imagine ainda o cenário no qual eu sou um consumidor e meu sistema não faz o parse do body porque estou fazendo uma requisição com verbos PUT, POST ou DELETE da qual está me retornando httpcode 200 e por isso meu sistema entende que deu tudo certo. E agora?

Se me retornassem httpcodes 402, 400 e 500 respectivamente nessas requisições seria muito mais fácil, para mim enquanto consumidor da API, saber o que está acontecendo.

Bah, mas ai é só fazer o parser do body.

Você concorda que fazer parser desse tipo é extremamente custoso, difícil e fora de um padrão?

porque vou fazer um parse de body se eu fiz uma requisição na qual eu não estou esperando nenhum body pq o retorno foi 2xx?

Há quem defenda em usar 200 para tudo e colocar um parâmetro no body do response com o código do erro, mas sou meio que "contra" essa prática porque se já existem padrões de códigos para cada tipo de resposta, pra que então vou fazer o "meu padrão"?

No entanto, ressalvas no momento em que você precisa dar um "sub código" de erro por exemplo:

"httpcode 400 bad request"
Ok. Mas onde errei na request?

ai sim, faz um body padronizado de erro e lá você coloca o seu código:

code: 01 - parametro nome inválido
cod: 02 - parametro telefone inválido

E por ai vai...

Em resumo

Importa, sim!

Carregando publicação patrocinada...