Criar uma API de achados e perdidos é um projeto prático de Go para quem conhece os fundamentos da linguagem e quer fornecer dados úteis por HTTP. Complete uma API de somente leitura para um catálogo comunitário de objetos encontrados e use o site preparado para pesquisar itens e abrir seus detalhes.
Dois laboratórios guiados levam você de um exemplo funcional com um item a respostas do catálogo completo, manipuladores reutilizáveis, pesquisa e erros previsíveis. Um desafio independente aplica o mesmo contrato a outro posto de achados e perdidos. Cada unidade começa com seu próprio ambiente e dados preparados; arquivos do laboratório anterior não são necessários. Reserve cerca de 120–160 minutos, uma estimativa do autor que inclui leitura e correções comuns.
O que você aprenderá
Ao concluir o curso, você poderá:
- relacionar caminhos e métodos de requisições a manipuladores HTTP de Go e respostas JSON;
- retornar todos os registros do catálogo e identificar cada item pelo ID, mesmo quando os nomes coincidem;
- combinar filtros de categoria e palavra-chave para que os resultados satisfaçam ambas as condições;
- distinguir uma lista vazia de uma requisição inválida, um item inexistente e um método não aceito;
- testar manipuladores com
httpteste conferir em conjunto o status, o conteúdo da resposta e a estrutura do JSON; - usar um site real que lê sua API, preservando o catálogo e a página fornecidos.
Para quem é este curso
Este curso é indicado para estudantes de Go prontos para combinar estruturas de dados e funções conhecidas em um pequeno serviço.
Pré-requisitos: Navegação básica no terminal, structs, slices, maps, funções e módulos de Go. O tratamento de HTTP, a codificação JSON, o tratamento explícito de erros e os testes de manipuladores são explicados antes do uso. Não é necessária experiência com frameworks web ou bancos de dados.
Ambiente de aprendizagem: A LabEx fornece Go, código inicial, dados do catálogo e um WebIDE no navegador. Use o terminal Workspace e o site Lost and Found para criar e experimentar o serviço sem instalar Go localmente. O site, os rótulos da interface, os comandos e a saída do programa permanecem em inglês.
Perguntas frequentes
Também criarei o site?
O site está preparado. Seu trabalho é a API Go que fornece os resultados reais de pesquisa e os detalhes dos itens. Você usará a página para observar como um consumidor depende das suas respostas.
Quais ferramentas usarei?
O projeto usa a biblioteca padrão de Go, incluindo net/http, encoding/json e httptest. Não exige framework, banco de dados, sistema de autenticação ou escritas concorrentes.
O que muda no desafio?
O catálogo contém registros, categorias e IDs diferentes, incluindo itens com o mesmo nome. Você aplica de forma independente o contrato de API já praticado. A tarefa continua sendo de somente leitura; adicionar ou excluir registros do catálogo está fora do escopo.


