【问题标题】:restify jsonClient failing at postrestify jsonClient 在发布时失败
【发布时间】:2023-03-31 14:03:01
【问题描述】:

createJsonClient 将我的数据发布到像

这样的 restify 服务器
console.log(typeof payload); // string
payload = JSON.parse(payload).Body;
console.log(payload); //object

client.post('/sqs', payload, function (err, req, res, obj) {
if (err) 
   callback(err, null);
else {
   console.log(obj);
}
});

但我得到了

{ [InternalError: Unexpected token o]\n  message: 'Unexpected token o',\n  statusCode: 500,\n  body: { code: 'InternalError', message: 'Unexpected token o' },\n  restCode: 'InternalError',\n  name: 'InternalError' }

payload 是 JSON.parse 之后的有效 JSON 对象,如何在 restify.createJsonClient 中发布对象?

【问题讨论】:

  • 如果您在 client.post 调用中放入对象文字而不是有效负载会发生什么?

标签: json node.js post restify


【解决方案1】:

您的有效负载是一个对象,而您需要发送 JSON 字符串,所以只需删除行

payload = JSON.parse(payload).Body;

来自 restify 文档:

client.post('/foo', { hello: 'world' }, function(err, req, res, obj) {
  assert.ifError(err);
  console.log('%d -> %j', res.statusCode, res.headers);
  console.log('%j', obj);
});

【讨论】:

  • 抱歉打错了
  • 向我们展示您的 JSON 的样子,也许它无效
  • 我得到 AssertionError: body (object) is required
猜你喜欢
  • 2014-11-09
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
相关资源
最近更新 更多