Как создать простой REST API на Go: пошаговый разбор

Как создать простой REST API на Go: пошаговый разбор

Введение

Сейчас почти все приложения работают через API. Например, когда ты открываешь приложение на телефоне и видишь список пользователей или постов — эти данные приходят с сервера через API.

API — это просто способ, с помощью которого программы обмениваются данными. Чаще всего используется REST API, который работает через HTTP и возвращает данные в формате JSON.

В Go есть всё необходимое, чтобы сделать API без дополнительных библиотек. В этой статье я попробую разобраться, как это работает, и написать простой пример.

Основная часть

1. Что вообще такое API

Если коротко, API — это посредник между клиентом и сервером.

Например:

  • приложение отправляет запрос
  • сервер его принимает
  • возвращает ответ

Обычно используются такие методы:

  • GET — получить данные
  • POST — отправить
  • DELETE — удалить

В этой статье будем использовать самый простой вариант — GET.

2. Что будем делать

Чтобы не усложнять, сделаем API, которое возвращает список пользователей.

То есть при запросе /users сервер будет отдавать данные.

3. Описываем данные

Сначала создадим структуру:

Как создать простой REST API на Go: пошаговый разбор

Здесь всё просто: у пользователя есть имя.

Тег json:"name" нужен, чтобы правильно сформировался JSON.

4. Пишем обработчик

Теперь функция, которая будет возвращать данные:

Как создать простой REST API на Go: пошаговый разбор

Здесь мы просто создаём список и сразу отправляем его клиенту.

5. Подключаем маршрут

Теперь нужно сказать серверу, когда вызывать эту функцию:

Как создать простой REST API на Go: пошаговый разбор

То есть если зайти на /users, выполнится getUsers.

6. Запускаем сервер

Соберём всё вместе:

Как создать простой REST API на Go: пошаговый разбор

После запуска можно открыть: http://localhost:8080/users

7. Проверяем результат

Если всё работает, мы увидим примерно такой ответ:

Как создать простой REST API на Go: пошаговый разбор

Это обычный JSON, который используют почти все API.

8. Добавим проверку метода

Чтобы было чуть правильнее, проверим тип запроса:

Как создать простой REST API на Go: пошаговый разбор

Теперь сервер будет отвечать только на GET-запросы.

Схема работы API

Как создать простой REST API на Go: пошаговый разбор

Описание схемы

На схеме показано, как примерно работает API в обычном приложении.

Слева находятся клиенты — это может быть компьютер или телефон. Они отправляют запросы на сервер. Например, приложение на телефоне делает запрос через API, чтобы получить данные.

Дальше запрос попадает на сервер. Сначала он проходит через роутер, который определяет, какую именно функцию нужно вызвать.

После этого сервер обрабатывает запрос. Если нужно, он обращается к базе данных — например, чтобы получить список пользователей.

Когда всё готово, сервер отправляет ответ обратно клиенту. Клиент получает данные и показывает их пользователю.

Заключение

В этой работе я попробовал сделать простой API на Go и разобраться, как он работает. Оказалось, что базовый API можно написать довольно быстро, если понять, как устроены обработчики и запросы.

На практике стало понятнее, как сервер возвращает данные и как используется JSON. В целом Go показался удобным для таких задач — всё довольно просто и без лишнего кода.

Дальше можно попробовать добавить новые методы или подключить базу данных, чтобы сделать что-то более реальное.