> Как реализовать в HTTP заголовках сервис, который принимает JSON и отвечает текстом (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Тинькофф
Стек: JavaScript
> Пример ответа
Для реализации сервиса, который принимает JSON и отвечает текстом, необходимо правильно настроить HTTP заголовки на стороне клиента (фронтенда) и сервера.
На стороне клиента (JavaScript):
JAVASCRIPTfetch('/api/service', {method: 'POST',headers: {'Content-Type': 'application/json', // указываем, что отправляем JSON'Accept': 'text/plain' // ожидаем текстовый ответ},body: JSON.stringify({ key: 'value' })}).then(response => {if (!response.ok) throw new Error('Ошибка');return response.text(); // получаем ответ как текст}).then(text => console.log(text));
На стороне сервера (пример на Node.js/Express):
JAVASCRIPTapp.post('/api/service', (req, res) => {// Устанавливаем заголовок ответаres.set('Content-Type', 'text/plain; charset=utf-8');// Обрабатываем JSON из тела запросаconst data = req.body;// Формируем текстовый ответres.send(`Получены данные: ${JSON.stringify(data)}`);});
Ключевые моменты:
-
Content-Type: application/jsonв запросе - сообщает серверу формат отправляемых данных -
Accept: text/plain- клиент ожидает текстовый ответ -
Content-Type: text/plainв ответе - сервер подтверждает, что возвращает текст -
Использование
response.text()на клиенте для чтения текстового ответа
Такой подход гарантирует корректную обработку данных и избегает ошибок парсинга.
> Похожие задачи по frontend
Какие типы могут быть ключами в JSON
Как реализована отправка JSON в API
Что такое event loop в JavaScript и как он работает с микрозадачами и макрозадачами
Что такое контекст (this) в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью