Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 邮递员显示204无内容而非回复正文_Node.js_Api_Postman_Response - Fatal编程技术网

Node.js 邮递员显示204无内容而非回复正文

Node.js 邮递员显示204无内容而非回复正文,node.js,api,postman,response,Node.js,Api,Postman,Response,在我的nodejs应用程序中,我有一个getapi,它获取一些数据,对其进行一些计算,在数据库中插入数据,并将计算出的值返回给用户。我正在从邮递员那里测试这个API,它工作得非常好,即数据成功地插入到数据库中。但是它不会返回responseBody,而是在postman中得到204 no Content 下面是我最后的回答 {"headers":{"authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOi

在我的
nodejs
应用程序中,我有一个getapi,它获取一些数据,对其进行一些计算,在数据库中插入数据,并将计算出的值返回给用户。我正在从邮递员那里测试这个API,它工作得非常好,即数据成功地插入到数据库中。但是它不会返回
responseBody
,而是在postman中得到
204 no Content

下面是我最后的回答

{"headers":{"authorization":"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9","user-agent":"PostmanRuntime/7.26.8","accept":"*/*","postman-token":"cf8ae1e4-e5db-46d5-bc86-0bf22c0a2cd3","host":"localhost:9988","accept-encoding":"gzip, deflate, br","connection":"keep-alive","method":"GET","client":"PostmanRuntime/7.26.8","responseTime":"803.764ms"},"url":"/app/calculateData/bfa8f77a13a?currentdata=-5&frequency=10","requestBody":{},"responseBody":{"result":"5"}}
我不知道我错过了什么。这是我的API调用结构

路由器文件:

    app.get('/app/calculateData/:userId', (req, res, next) => { return controllers.appController.calculateData(req, res, next);});
calculateData(req, res, next) {

    res.responseGenerator = {};
    res.responseGenerator.responseCode = 204;

    let params = Object.assign({}, req.params, req.query )


    this.appService.calculateData(params, (err, myResult) => {

        res.responseGenerator.result = myResult;
        if (err) return next(err);
        return next();
    });
    
}
calculateData(params, callback) {
    let self = this;
    let dbContext = self.mysqlResource.getContext();
    let appSqlDao = new appSqlDao(dbContext)

    return appSqlDao.calculateData( params, (err, res) => {
        dbContext.release()
                if (err){
               return callback(err)
        }
         
        let objResult = {}
        objResult.result = res.result.toString()
        return callback( null, objResult )
            })        
    }
calculateData(filters, callback) {

    let targetHcp = null
    let varcharUserId = this.dbContext.escape(filters.userId)
    
    let query = `CALL db.calculateData(${varcharUserId})`
    return this.dbContext.runQuery(query, (err, res) => {

    if (err) {
            err.status = 111;
            err.code = 11111;
            err.message = 'Internal database error';
            
        }
        if (res.length) {
            calValue = res[0][0]
        }
        return callback(err, calValue)
    })
}
控制器:

    app.get('/app/calculateData/:userId', (req, res, next) => { return controllers.appController.calculateData(req, res, next);});
calculateData(req, res, next) {

    res.responseGenerator = {};
    res.responseGenerator.responseCode = 204;

    let params = Object.assign({}, req.params, req.query )


    this.appService.calculateData(params, (err, myResult) => {

        res.responseGenerator.result = myResult;
        if (err) return next(err);
        return next();
    });
    
}
calculateData(params, callback) {
    let self = this;
    let dbContext = self.mysqlResource.getContext();
    let appSqlDao = new appSqlDao(dbContext)

    return appSqlDao.calculateData( params, (err, res) => {
        dbContext.release()
                if (err){
               return callback(err)
        }
         
        let objResult = {}
        objResult.result = res.result.toString()
        return callback( null, objResult )
            })        
    }
calculateData(filters, callback) {

    let targetHcp = null
    let varcharUserId = this.dbContext.escape(filters.userId)
    
    let query = `CALL db.calculateData(${varcharUserId})`
    return this.dbContext.runQuery(query, (err, res) => {

    if (err) {
            err.status = 111;
            err.code = 11111;
            err.message = 'Internal database error';
            
        }
        if (res.length) {
            calValue = res[0][0]
        }
        return callback(err, calValue)
    })
}
服务:

    app.get('/app/calculateData/:userId', (req, res, next) => { return controllers.appController.calculateData(req, res, next);});
calculateData(req, res, next) {

    res.responseGenerator = {};
    res.responseGenerator.responseCode = 204;

    let params = Object.assign({}, req.params, req.query )


    this.appService.calculateData(params, (err, myResult) => {

        res.responseGenerator.result = myResult;
        if (err) return next(err);
        return next();
    });
    
}
calculateData(params, callback) {
    let self = this;
    let dbContext = self.mysqlResource.getContext();
    let appSqlDao = new appSqlDao(dbContext)

    return appSqlDao.calculateData( params, (err, res) => {
        dbContext.release()
                if (err){
               return callback(err)
        }
         
        let objResult = {}
        objResult.result = res.result.toString()
        return callback( null, objResult )
            })        
    }
calculateData(filters, callback) {

    let targetHcp = null
    let varcharUserId = this.dbContext.escape(filters.userId)
    
    let query = `CALL db.calculateData(${varcharUserId})`
    return this.dbContext.runQuery(query, (err, res) => {

    if (err) {
            err.status = 111;
            err.code = 11111;
            err.message = 'Internal database error';
            
        }
        if (res.length) {
            calValue = res[0][0]
        }
        return callback(err, calValue)
    })
}
这是DAO文件:

    app.get('/app/calculateData/:userId', (req, res, next) => { return controllers.appController.calculateData(req, res, next);});
calculateData(req, res, next) {

    res.responseGenerator = {};
    res.responseGenerator.responseCode = 204;

    let params = Object.assign({}, req.params, req.query )


    this.appService.calculateData(params, (err, myResult) => {

        res.responseGenerator.result = myResult;
        if (err) return next(err);
        return next();
    });
    
}
calculateData(params, callback) {
    let self = this;
    let dbContext = self.mysqlResource.getContext();
    let appSqlDao = new appSqlDao(dbContext)

    return appSqlDao.calculateData( params, (err, res) => {
        dbContext.release()
                if (err){
               return callback(err)
        }
         
        let objResult = {}
        objResult.result = res.result.toString()
        return callback( null, objResult )
            })        
    }
calculateData(filters, callback) {

    let targetHcp = null
    let varcharUserId = this.dbContext.escape(filters.userId)
    
    let query = `CALL db.calculateData(${varcharUserId})`
    return this.dbContext.runQuery(query, (err, res) => {

    if (err) {
            err.status = 111;
            err.code = 11111;
            err.message = 'Internal database error';
            
        }
        if (res.length) {
            calValue = res[0][0]
        }
        return callback(err, calValue)
    })
}
我不知道我错过了什么。任何形式的帮助都是必要的 谢谢


res.responseGenerator.responseCode=204——这是你的罪魁祸首。

哦,我的错。。。非常感谢。