Экспресс-анализ JSON без заголовка типа содержимого

#node.js #json #express #content-type

#node.js #json #экспресс #тип содержимого

Вопрос:

У меня есть экспресс-API, который заменяет существующий API. Существующий API получает данные JSON, но не требует заголовка типа содержимого. Экспресс, похоже, требует этот заголовок для любого синтаксического анализа тела в JSON и возвращает undefined.

Есть ли способ заставить Express предположить, что данные имеют тип JSON, без набора заголовка типа содержимого?

Ответ №1:

Синтаксический анализ тел запросов выполняется с использованием body-parser библиотеки, которая имеет возможность изменять разрешенные значения заголовка типа содержимого. Вот пример, который заменяет проверку функцией, которая всегда возвращает true, тем самым всегда пытаясь проанализировать тело как json.

 const bodyParser = require('body-parser');

app.use(bodyParser.json({
  type(req) {
    return true;
  }
}))