> Как реализовать в HTTP заголовках сервис, который принимает JSON и отвечает текстом (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Тинькофф

Стек: JavaScript

> Пример ответа

Для реализации сервиса, который принимает JSON и отвечает текстом, необходимо правильно настроить HTTP заголовки на стороне клиента (фронтенда) и сервера.

На стороне клиента (JavaScript):

JAVASCRIPT
fetch('/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):

JAVASCRIPT
app.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

Уровень: middleКатегория: Технические вопросы
Компания: Сбер
Стек: JavaScript

Как реализована отправка JSON в API

Уровень: seniorКатегория: Технические вопросы
Компания: Merlion
Стек: JavaScript

Что такое event loop в JavaScript и как он работает с микрозадачами и макрозадачами

Уровень: juniorКатегория: Технические вопросы
Компания: amoCRM, Иннотех, Cyber Interactive, Альфа-банк, YADRO, Garage Eight, Kvando Technologies, циан, Soft_Media_Group, ООО Премиум ИТ Солюшен, VK, Kodix, РСХБ, LeverX, Инити, Aston, Газпромбанк, Домклик, IT-One, Софт Медиа Групп, МТГ Бизнес решения, Библио-Глобус, Rutube, Дом.рф, intelsy, Avito, Сфера, EdenAI, Сбер, Арго, TYMY, 1221 Systems, Исходный Код, Globaldrive, Кэтрид Диджитал, SmartWay, ООО Снэп АйТи
Стек: JavaScript

Что такое контекст (this) в JavaScript

Уровень: juniorКатегория: Технические вопросы
Компания: YADRO, Garage Eight, циан, Soft_Media_Group, VK, Инити, Aston, Kaspersky, Centicore, IT-One, EdenAI, Сбер, TYMY, HolyWeb, Purrweb, ООО Снэп АйТи
Стек: JavaScript

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью