Что такое content negotiation?

Middle
188 просмотров
AFK Offer AI

Content negotiation — механизм, когда клиент через Accept header говорит, какой формат хочет (application/json, application/xml, text/html), а сервер выбирает подходящий. В Go это руками: смотришь r.Header.Get("Accept"), парсишь, выбираешь формат ответа. Библиотеки типа go-chi/render умеют автоматически. Для Content-Type запроса — аналогично, проверяешь r.Header.Get("Content-Type") и выбираешь decoder. На практике большинство Go API просто всегда отдают JSON.

Следующий вопрос

Как работает fmt пакет внутри?