创建 rest API 以从 odoo ERP 中检索数据



我正在创建一个 rest api 服务来获取、放置、删除 odoo ERP 中的数据。

这是我的代码:

const Promise = require('bluebird');
Promise.promisifyAll(require('node-odoo').prototype);
const Odoo = require('odoo-xmlrpc');

const odoo = new Odoo({
url: 'zzzz',
port: 'zz',
db: 'zzzz',
username: 'zzzz',
password: 'zzz*'
});

var express = require('express'),
app = express(),
port = process.env.PORT || 3000;
this.router = express.Router();
app.listen(port);
console.log('todo list RESTful API server started on: ' + port);

this.router.get('/api/event/', (req, res) => {
return getEvent(req, res);
});

app.get('/getEvent', (request, response) => {
odoo.connect((err) => {
if(err)  return console.log('Findeventlist error ' + err);
console.log('Findeventlist connected ' );
var inParams = [];
inParams.push([]);
inParams.push(['name' ])
inParams.push(0)
inParams.push(5)
var params = [];
params.push(inParams);
odoo.execute_kw('calendar.event', 'search_read', params, function (err, value) {
if (err) { return console.log(err) }
if(value){
console.log( 'Value is ' +   response.status(200).json(value));
return response.status(200).json(value)
}
});
});
console.log(' odoo connected');

})

我收到此错误:错误 [ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头

你能帮我哪里错吗?

response.status(200).json(value)响应客户端并结束事务(就像response.end()response.sendFile()等一样(。

它只能调用一次,但你执行它两次(一次在控制台.log((内,然后一次"真正"下一行(。这就是标头"已经发送"的原因。

从控制台中删除无用的response.json().log并仅记录要查看的value

相关内容

  • 没有找到相关文章

最新更新