Задача: создать простой REST API, который будет позволять получать информацию про пиццу.
Шаг 1. Желаемый функционал.
Хотим собрать простой веб-сервер, который будет взаимодействовать с окружающим миром через API, поддерживающий REST
Шаг 1.1 Виды запросов, поддерживаемые API
Будет существовать и поддерживать 2 запроса:
http://localhost:8080/pizzas
- возвращает json со всеми пиццами в наличииhttp://localhost:8080/pizza/{id}
- возвращает информацию про пиццу сid
в случае, если она имеется в наличии или сообщает клиенту, что такой пиццы нет.
Шаг 2. Реализация
- Создаём проект
mkdir rest_api_pizza
- Сразу инициализируем
go mod rest_api_pizza
Шаг 2.1 Маршрутизатор и исполнители
Маршрутизатор (router) - это экземпляр, который имеет внутренний функционал, заключающийся в следующем:
- принимает на вход адрес запроса (по сути это строка
http://localhost:8080/pizzas
) и вызывает исполнителя, который будет ассоциирован с этим запросом.
Исполнитель (handler) - это функция/метод, который вызывается маршрутизатором.
Для того, чтобы удобно работать с маршрутизатором и не писать с нуля, будем использовать готовую библиотеку github.com/gorilla/mux
: go get -u github.com/gorilla/mux