javascript - 创建rest api以从odoo erp检索数据

标签 javascript rest api web-services odoo

我正在创建一个 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]:将 header 发送到客户端后无法设置 header

你能帮我看看我哪里错了吗?

最佳答案

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

它必须只被调用一次,但你执行它两次(一次在 console.log() 内,然后在下一行“真正”执行一次)。这就是 header “已发送”的原因。

从 console.log 中删除无用的 response.json() 并仅记录您想要查看的

关于javascript - 创建rest api以从odoo erp检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59736832/

相关文章:

javascript - localStorage - clear() 或 removeItem()?

javascript - 单面 jQuery UI slider

javascript - 在 JSTree 中禁用多项选择不起作用

Java Spring Boot REST API - 一对多关系的未解析的前向引用

java - 使用 RestTemplate 时出现异常,消息为 "http protocol is not supported"

swift - 我如何在另一个函数中使用retailId(来自 flatMapLatest)

用于 IP 地理定位的 PHP 和 API

javascript - 在jQuery插件内部使用YouTube Iframe API获取状态

javascript - 如何打印(在屏幕上)具有外部 url 的 iframe 所需的所有 JS 代码

java - 如何抑制Jersey自动抛出的Jersey异常?