我继承了一些非常混乱的环回代码,我想知道是否可以返回200以外的状态代码。
例如,我有以下代码:
PensionsUser.loginView = function (ctx, credentials, cb) {
var respJSON = util.getresponseTemplate();
credentials.email = credentials.email.toLowerCase().trim();
PensionsUser.login(credentials, 'user', function (err, loginResp) {
if (err) {
util.addErrorToResponse(err, respJSON, 'NO-PUS-LV-001');
app.log.error(util.loggingTemplate('PensionsUser', 'loginView', 'NO-PUS-LV-001', credentials.email));
ctx.res.status = 401; //does not work
cb(null, respJSON);
//etc.
我知道cb(null, respJSON)
应该像这样cb(respJSON)
返回错误但遗憾的是前端代码依赖于当前返回的JSON,所以我的第一步就是更改状态代码。 / p>
这可能吗?
答案 0 :(得分:2)
您可以设置自定义错误,例如{error:500,message:" Custom Error"},或者您可以配置" strong-error-handler"在中间件配置文件中。
答案 1 :(得分:0)
对于错误,您可以设置如下状态:
callback({status: 401, message: 'Your error message'});
对于成功状态代码,您已在此处回答:https://stackoverflow.com/a/26942431/1827886
答案 2 :(得分:0)
要根据您自己的要求发送响应代码,您可以使用以下代码:
"YourModelName"."YourRemoteMethod" = function("YourAcceptArguments", callback) {
var error = new Error("New password and confirmation do not match");
error.status = "Enter the resposne code that you want to send";
// Example => error.status = 400
return callback(error);
};