
Design de API REST
Princípios REST, versionamento, paginação, filtragem, HATEOAS, códigos de status, OpenAPI/Swagger
1Qual é o princípio fundamental do REST?
Qual é o princípio fundamental do REST?
Resposta
REST baseia-se no princípio de representar recursos acessíveis através de URIs únicas. Cada recurso (usuário, produto, pedido) tem uma URI e pode ser manipulado pelos verbos HTTP padrão (GET, POST, PUT, DELETE). Esse paradigma orientado a recursos permite uma arquitetura escalável e desacoplada onde o servidor não armazena o estado da sessão do cliente.
2Qual método HTTP usar para uma operação idempotente de atualização completa de um recurso?
Qual método HTTP usar para uma operação idempotente de atualização completa de um recurso?
Resposta
PUT é idempotente e substitui completamente o recurso. Chamar PUT várias vezes com os mesmos dados produz o mesmo resultado que uma única chamada. Em contraste, POST não é idempotente (criaria vários recursos), PATCH faz atualizações parciais e DELETE remove o recurso. A idempotência do PUT garante a segurança das retentativas em caso de erros de rede.
3Qual código HTTP retornar após a criação bem-sucedida de um novo recurso?
Qual código HTTP retornar após a criação bem-sucedida de um novo recurso?
Resposta
O código 201 Created indica que um recurso foi criado com sucesso. Ele é acompanhado de um header Location apontando para a URI do novo recurso. O código 200 OK é genérico demais para uma criação, 204 No Content é usado quando não há corpo de resposta, e 202 Accepted sinaliza um processamento assíncrono ainda não concluído.
Qual diferença importante distingue uma API REST de uma API RPC?
O que significa o princípio de statelessness no REST?
+17 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Tratamento de erros
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificação JSON
Database/SQL
Pacote context
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
gRPC
Reflection
Gerenciamento de memória
Otimização de desempenho
Generics
Go Design Patterns
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis