如何在使用 claudia-api-builder 时 return API 响应?
How to return the API response while using claudia-api-builder?
我正在使用带有 Sequelize 的 Claudia-api-builder 并在 return 处理 API
的响应时遇到问题
app.js :
const ApiBuilder = require('claudia-api-builder');
const app = new ApiBuilder();
const citizenPersonalDetails = require('./app/controller/cont.citizenpersonaldetails');
app.get('/citizens', function (req, res) {
citizenPersonalDetails.getAll(req, res);
})
module.exports = app
当我return收到这样的回复时:
getAll: function (req, res) {
citizenPersonalDetails.findAll({})
.then(citizenPersonalDetails => {
if (citizenPersonalDetails.length === 0) {
return res.status(200).json(citizenPersonalDetails)
} else {
return res.status(200).json(citizenPersonalDetails)
}
}).catch(error => {
console.log("==== ERROR ====", error);
});
}
这给我错误:res.status 不是一个函数
在 Claudia 文档中,它只提到了请求对象:
https://claudiajs.com/claudia-api-builder.html
来自文档:
var ApiBuilder = require('claudia-api-builder'),
api = new ApiBuilder(),
superb = require('superb');
module.exports = api;
api.get('/greet', function (request) {
return request.queryString.name + ' is ' + superb();
});
有Claudia的回复对象吗? return 响应的正确方法是什么?
我正在使用 claudia-local-api 在本地进行 APIS 测试。
没有 response
第二个参数(就像你在 Express.js 中那样)。
似乎有一个 ApiResponse 可用于 return 自定义响应和客户 header。
但是,如果您已经使用 Express.js 完成了这项工作,则可以完全跳过 claudia-api-builder,而只使用 claudia 来 run Express.js app in AWS Lambda
我正在使用带有 Sequelize 的 Claudia-api-builder 并在 return 处理 API
的响应时遇到问题app.js :
const ApiBuilder = require('claudia-api-builder');
const app = new ApiBuilder();
const citizenPersonalDetails = require('./app/controller/cont.citizenpersonaldetails');
app.get('/citizens', function (req, res) {
citizenPersonalDetails.getAll(req, res);
})
module.exports = app
当我return收到这样的回复时:
getAll: function (req, res) {
citizenPersonalDetails.findAll({})
.then(citizenPersonalDetails => {
if (citizenPersonalDetails.length === 0) {
return res.status(200).json(citizenPersonalDetails)
} else {
return res.status(200).json(citizenPersonalDetails)
}
}).catch(error => {
console.log("==== ERROR ====", error);
});
}
这给我错误:res.status 不是一个函数
在 Claudia 文档中,它只提到了请求对象:
https://claudiajs.com/claudia-api-builder.html
来自文档:
var ApiBuilder = require('claudia-api-builder'),
api = new ApiBuilder(),
superb = require('superb');
module.exports = api;
api.get('/greet', function (request) {
return request.queryString.name + ' is ' + superb();
});
有Claudia的回复对象吗? return 响应的正确方法是什么?
我正在使用 claudia-local-api 在本地进行 APIS 测试。
没有 response
第二个参数(就像你在 Express.js 中那样)。
似乎有一个 ApiResponse 可用于 return 自定义响应和客户 header。
但是,如果您已经使用 Express.js 完成了这项工作,则可以完全跳过 claudia-api-builder,而只使用 claudia 来 run Express.js app in AWS Lambda