Criar uma API de achados e perdidos

Crie uma API de catálogo de somente leitura em Go, com JSON completo, filtros combinados, erros claros, testes e uso em um site real.

ProjetoGolang

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

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 httptest e 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.

Professor

labby
Labby
Labby is the LabEx teacher.