Мне нужно протестировать серверную часть REST API, которая принимает JSON с Advanced REST Client или Postman для Chrome.
Но я сталкиваюсь с проблемами :Я могу отправить запрос только с использованием встроенной -формы и с помощью Content -Type :application/x -www -form -urlencoded
Но это не сработает, так как у меня есть встроенные документы, например, мне нужно отправить это:
{title:"Awesome post!", tags: ["blue", "jeans"] }
Это невозможно со встроенным -в формах расширения Chrome.
Когда я выбираю Raw Body и вставляю туда содержимое, мой сервер видит req.body как пустой объект. Когда я также устанавливаю заголовок «Содержимое -Тип :application/json», я получаю следующую ошибку в моем бэкэнде:
SyntaxError: Unexpected token n
at Object.parse (native)
at IncomingMessage.exports.parse.application/json (/Library/WebServer/Documents/slipfeed/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:135:16)
at IncomingMessage.EventEmitter.emit (events.js:85:17)
at IncomingMessage._emitEnd (http.js:366:10)
at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
at Socket.socket.ondata (http.js:1682:22)
at TCP.onread (net.js:404:27)
Примечание :Я использую bodyParser ()и methodOverride ()в конфигурации моего приложения. Отключение их не помогло.
Какие настройки нужно использовать, чтобы можно было просто ввести JSON в поле Raw body и запрос сработал?
Чтобы уточнить ответ :, мне пришлось установить как Content -Type :application/json (в заголовке запроса ), так и использовать правильно -сформированный json, где имена свойств также заключены в двойные кавычки, чтобы получить это работает.