Pular para conteúdo

Quiz 10 - Introdução

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 *Explicação: REST foca na manipulação de recursos através de identificadores únicos (URIs).*
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 *Explicação: Separar lógica de negócio, acesso a dados e handlers HTTP garante um sistema escalável.*
3. Qual verbo HTTP deve ser usado para CRIAR um novo recurso?
GET
POST
PUT
DELETE *Explicação: O POST é o método padrão para submissão de novos dados para o servidor.*
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 *Explicação: O Repository abstrai como e onde os dados são salvos.*
5. Qual o código de status HTTP recomendado ao se criar um recurso com sucesso?
200 OK
201 Created
400 Bad Request
500 *Explicação: O 201 informa explicitamente que algo novo nasceu no sistema.*
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 *Explicação: APIs RESTful usam os métodos HTTP para definir a ação sem poluir a URL.*
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 *Explicação: Diferente do PUT (substituição total), o PATCH é cirúrgico.*
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 *Explicação: GET, PUT e DELETE são idempotentes; POST geralmente não é.*
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 *Explicação: A camada de serviço é o "cérebro" que toma decisões baseadas nos dados.*
10. Qual ferramenta é o padrão para documentar e testar contratos de APIs REST?
Microsoft Word
Swagger (OpenAPI)
Paint
Notepad++ *Explicação: O Swagger gera uma documentação viva e interativa da sua API.*