проект в Golang Skill Tree

Создание API бюро находок

Создайте API каталога для чтения на Go: полный JSON, сочетание фильтров, понятные ошибки, тесты и использование в настоящем сайте.

ПроектGolang

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Создание API бюро находок — практический проект на Go для тех, кто знает основы языка и хочет предоставлять полезные данные по HTTP. Завершите API для чтения каталога найденных вещей, а затем используйте подготовленный сайт для поиска предметов и просмотра их подробностей.

Две пошаговые лабораторные работы ведут от рабочего примера с одним предметом к ответам с полным каталогом, повторно используемым обработчикам, поиску и предсказуемым ошибкам. Одно самостоятельное задание переносит тот же контракт на другое бюро находок. Каждая часть начинается с собственной подготовленной среды и данных; файлы из предыдущей работы не нужны. Планируйте примерно 120–160 минут: это оценка автора с учётом чтения и обычных исправлений.

Чему вы научитесь

После завершения курса вы сможете:

  • связывать пути и методы запросов с HTTP-обработчиками Go и ответами JSON;
  • возвращать все записи каталога и различать отдельные предметы по ID, даже если их названия совпадают;
  • сочетать фильтры категории и ключевого слова так, чтобы результат удовлетворял обоим условиям;
  • отличать пустой список результатов от неверного запроса, отсутствующего предмета и неподдерживаемого метода;
  • тестировать обработчики с помощью httptest, совместно проверяя статус, содержимое ответа и форму JSON;
  • пользоваться настоящим сайтом, который читает ваш API, сохраняя предоставленные каталог и страницу.

Для кого этот курс

Курс предназначен для изучающих Go, которые готовы объединить знакомые структуры данных и функции в небольшой сервис.

Предварительные требования: Базовая навигация в терминале, структуры, срезы, map, функции и модули Go. Обработка HTTP, кодирование JSON, явная обработка ошибок и тестирование обработчиков объясняются до использования. Опыт работы с веб-фреймворками и базами данных не требуется.

Учебная среда: LabEx предоставляет Go, начальный код, данные каталога и WebIDE в браузере. Терминал Workspace и сайт Lost and Found позволяют создавать и пробовать сервис без локальной установки Go. Сайт, подписи интерфейса, команды и вывод программы остаются на английском.

Часто задаваемые вопросы

Буду ли я также создавать сайт?

Сайт уже подготовлен. Вы создаёте API на Go, который предоставляет настоящие результаты поиска и сведения о предметах. Используя страницу, вы увидите, как потребитель зависит от ваших ответов.

Какие инструменты используются?

Проект использует стандартную библиотеку Go, включая net/http, encoding/json и httptest. Фреймворк, база данных, система аутентификации и параллельные записи не требуются.

Что меняется в самостоятельном задании?

В каталоге другие записи, категории и ID, в том числе предметы с одинаковыми названиями. Вы самостоятельно применяете уже отработанный контракт API. В рамках задачи по-прежнему разрешено только чтение; добавление и удаление записей не входят в её рамки.

Преподаватель

labby
Labby
Labby is the LabEx teacher.