middleware. Используйте один из сторонних пакетов для логирования:github.com/rs/zerolog,go.uber.org/zap,github.com/sirupsen/logrus.Info.middleware. Используйте один из сторонних пакетов для логирования:github.com/rs/zerolog,go.uber.org/zap,github.com/sirupsen/logrus.Info.POST /api/shorten, который будет принимать в теле запроса JSON-объект {"url":"<some_url>"} и возвращать в ответ объект {"result":"<short_url>"}.POST http://localhost:8080/api/shorten HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"url": "https://practicum.yandex.ru"
} HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 30
{
"result": "http://localhost:8080/EwHXdJfB"
} encoding/json,github.com/mailru/easyjson,github.com/pquerna/ffjson.encoding/json,github.com/mailru/easyjson,github.com/pquerna/ffjson. type Metrics struct {
ID string `json:"id"` // имя метрики
MType string `json:"type"` // параметр, принимающий значение gauge или counter
Delta *int64 `json:"delta,omitempty"` // значение метрики в случае передачи counter
Value *float64 `json:"value,omitempty"` // значение метрики в случае передачи gauge
} Content-Type: application/json. В теле запроса должен быть описанный выше JSON. Передавать метрики нужно через POST update/. В теле ответа отправляйте JSON той же структуры с актуальным (изменённым) значением Value. Content-Type: application/json. В теле запроса должен быть описанный выше JSON с заполненными полями ID и MType. Запрашивать нужно через POST value/. В теле ответа должен приходить такой же JSON, но с уже заполненными значениями метрик. Content-Encoding).Accept-Encoding).application/json и text/html.middleware из урока про HTTP-сервер, это может вам помочь.Content-Encoding).Accept-Encoding).application/json и text/html.middleware из урока про HTTP-сервер, это может вам помочь.-f, переменная окружения FILE_STORAGE_PATH — полное имя файла, куда сохраняются данные в формате JSON (по умолчанию /tmp/short-url-db.json, пустое значение отключает функцию записи на диск).{"uuid":"1","short_url":"4rSPg8ap","original_url":"http://yandex.ru"}
{"uuid":"2","short_url":"edVPg3ks","original_url":"http://ya.ru"}
{"uuid":"3","short_url":"dG56Hqxm","original_url":"http://practicum.yandex.ru"} -i, переменная окружения STORE_INTERVAL — интервал времени в секундах, по истечении которого текущие показания сервера сохраняются на диск (по умолчанию 300 секунд, значение 0 делает запись синхронной).-f, переменная окружения FILE_STORAGE_PATH — полное имя файла, куда сохраняются текущие значения (по умолчанию /tmp/metrics-db.json, пустое значение отключает функцию записи на диск).-r, переменная окружения RESTORE — булево значение (true/false), определяющее, загружать или нет ранее сохранённые значения из указанного файла при старте сервера (по умолчанию true).