3
respostas

Três principais dúvidas ao terminar o curso

Terminei o curso, muito bom por sinal, mas fiquei com algumas dúvidas ao final:

1 - Qual a melhor forma para retornar uma lista de Carrinho? Eu retorno dentro de um Response, Response.ok(listaCarrinhos).build(), ou retorno direto como tipo de retorno do método, public List<Carrinho> lista() {...?

2 - Caso aconteça algum erro de validação ou qualquer tipo de erro mesmo, como eu retorno isso pra quem chamou minha API? Eu crio uma Exception e coloco dentro do Response.ok(exception).build()? Gostaria de saber qual a recomendação nesses casos.

3 - No curso, o instrutor falou que veríamos o uso do PATCH e do OPTIONS, mas não foi abordado. Isso continua em algum outro curso aqui da plataforma?

3 respostas

1 - Qual a melhor forma para retornar uma lista de Carrinho? Eu retorno dentro de um Response, Response.ok(listaCarrinhos).build(), ou retorno direto como tipo de retorno do método, public List lista() {...?

R: acho que você pode retornar a lista sim, não vejo problemas.

2 - Caso aconteça algum erro de validação ou qualquer tipo de erro mesmo, como eu retorno isso pra quem chamou minha API? Eu crio uma Exception e coloco dentro do Response.ok(exception).build()? Gostaria de saber qual a recomendação nesses casos.

R: você pode usar o método que constrói uma resposta com o status bad request(400). É super importante retornar o status correto, para que o cliente reaja de maneira adequada a resposta.

3 - No curso, o instrutor falou que veríamos o uso do PATCH e do OPTIONS, mas não foi abordado. Isso continua em algum outro curso aqui da plataforma?

R: não lembro de nenhum curso de cabeça :(. São verbos não tão usados no mercado, mesmo em aplicações que entram de cabeça no mundo rest. O options, por exemplo, é usado pelo navegador para liberar o cors na aplicação.

Mas ainda sobre a segunda questão, eu entendi, fazendo o curso, que as mensagens de erro devem ser enviadas no cabeçalho da requisição, além do status code apropriado, porque se eu mandar dentro de um objeto particular ninguém pode conhecer, ou algo do tipo (espero não ter entendido errado rs). Mas no caso, como eu envio alguma mensagem de erro ou validação para o cliente que tá consumindo minha API? Existe algum label específico no cabeçalho da requisição onde eu escrevo a mensagem? Tipo, quando eu crio um novo recurso eu envio no cabeçalho a URI desse novo recurso, e essa informação eu pego ela no location do header. E no caso de uma mensagem de erro, como funciona?

Não tem padrão. A api vai definir uma maneira de mandar os dados indicando os erros e o cliente vai se adaptar. De vez em quando acontece isso mesmo, nem tudo ta padronizado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software