Quiz 10 - Construindo APIs REST 🏗️
1. No design de APIs REST, o que representa um "Recurso"?
O código fonte do servidor
Qualquer entidade ou dado nomeável (ex: /usuarios, /produtos)
A velocidade da CPU
O manual de instruções
2. Qual a principal vantagem de organizar o projeto em Camadas (MVC/Serviços)?
O código fica mais bonito no editor
Facilita a manutenção, testes e a troca de tecnologias (ex: mudar o banco de dados)
O programa compila mais rápido
Impede que hackers vejam o código
3. Qual verbo HTTP deve ser usado para CRIAR um novo recurso?
GET
POST
PUT
DELETE
4. O que a camada "Repository" deve fazer?
Validar o e-mail do usuário
Lidar puramente com a persistência e busca de dados (Banco de Dados/Arquivos)
Desenhar o JSON de resposta
Controlar as rotas da API
5. Qual o código de status HTTP recomendado ao se criar um recurso com sucesso?
200 OK
201 Created
400 Bad Request
500
6. No REST profissional, devemos usar verbos nas URLs (ex: `/deletar_item/123`)?
Sim, deixa mais claro
Não, devemos usar substantivos e deixar a ação para o Verbo HTTP (ex: `DELETE /items/123`)
Depende do humor do desenvolvedor
Somente se o projeto for pequeno
7. Para que serve o método `PATCH`?
Para deletar tudo
Para atualizar apenas parte de um recurso (ex: mudar só o preço de um produto)
Para enviar mensagens secretas
Para instalar atualizações no servidor
8. O que é "Idempotência"?
Um tipo de bateria de longa duração
A propriedade de uma requisição que, se repetida, produz o mesmo resultado no servidor sem efeitos colaterais extras
Uma função que gera números aleatórios
A velocidade de resposta da internet
9. Onde costuma ficar a "Regra de Negócio" na organização por camadas?
No arquivo main.go
Na camada de Service (Serviços)
Dentro do banco de dados
No frontend
10. Qual ferramenta é o padrão para documentar e testar contratos de APIs REST?
Microsoft Word
Swagger (OpenAPI)
Paint
Notepad++