У меня возникли проблемы с отправкой тела запроса в суперпозицию. Я читал решения других вопросов, которые винят неправильную конфигурацию body-parser, но эти ответы относятся к пользовательскому типу данных. (res.body is empty in this test that uses supertest and Node.js). Настроить тело-анализатор, как это:Пустое тело в супер-запросе с заявкой/vnd
var bodyParser = require('body-parser');
app.use(bodyParser.json({ limit: '50mb', type: 'application/vnd.api+json' }));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
Это решение поста я предоставил говорит «Supertest использует this файл, чтобы определить, если вы отправляете JSON или нет.» Мой тип контента фактически указан там, поэтому я не понимаю, почему это должно быть проблемой.
Я пытаюсь отправить запрос так:
it ('creates user', function (done) {
var user = {
firstname: 'Joe',
lastname: 'JoeJoe',
email: '[email protected]',
password: 'spartacus',
};
request(app)
.post('/api/users')
.send(user)
.expect(200)
.expect('Sent email to [email protected]', done)
});
});
И я импортировать мое приложение с этой линией:
var app = require('../server.js');
Где server.js настраивает мое приложение полностью. Поддерживается ли этот тип приложения supertest? Есть ли способ заставить данные пользователя быть замеченными как часть req.body?
Не забудьте отправить типа содержимого заголовка «приложения/vnd.api + JSON» – lxe
Не могли бы вы объяснить, где установить, что? – ritmatter
'request (app) .post ('/ api/users', {headers: {'content-type': 'application/vnd.api + json'}})' – lxe