当密钥不满足couchbase视图中的精确值时,响应自定义错误
我有一份像这样的文件-当密钥不满足couchbase视图中的精确值时,响应自定义错误,couchbase,couchbase-view,Couchbase,Couchbase View,我有一份像这样的文件- { "fullUserName": "xxyz", "userFirstName": "xx", "userLastName": "xx", "primaryRole": "xy", "actualRole": "rrr", "userId": "abcd1234", "password":"c28f5c7cb675d41c7763ab0c42d", "type":"login", "channels":"*" } 和视图- function (doc
{
"fullUserName": "xxyz",
"userFirstName": "xx",
"userLastName": "xx",
"primaryRole": "xy",
"actualRole": "rrr",
"userId": "abcd1234",
"password":"c28f5c7cb675d41c7763ab0c42d",
"type":"login",
"channels":"*"
}
和视图-
function (doc, meta) {
if(doc.userId,doc.password,doc.type){
emit([doc.userId,doc.password,doc.type],doc);
}
}
当键与文档的属性匹配时,它返回文档,否则返回空的JSON-
{"total_rows":2,"rows":[
]
}
现在,我想在键不匹配时以JSON格式响应错误消息,例如-
{
"Error-Code":"400",
"Error-Msg":"user id and password does not match"
}
有没有办法,如果我走错了方向,请纠正。
提前感谢。您不应该直接向用户公开视图查询结果,而应该对其进行解释 因此,发出一个视图请求,查看响应,并在那里执行检查的业务逻辑。例如: “如果结果为空,则可能是因为用户未知或密码哈希与用户不匹配,因此返回特定于业务的错误消息,否则继续登录” 您无法更改服务器的行为和响应格式,而且这样做没有多大意义。这是您如何与服务器交互的API和契约。您应该在中间的层中添加自己的业务逻辑