通过REST处理HTTP错误

时间:2017-07-31 09:49:48

标签: javascript json rest

我尝试在REST调用可以访问的javascript中自定义端点。此端点处理与不同情况相关的几个条件(基本上它会生成一次性密码,然后验证它是否已过期等等)。

所以基本上结构是这样的:

(function() {
    var obj = new Object();
    ...
    if (...) {      
       obj.code = 422;      
       obj.message = "Code Expired";        
       return obj;
    } else {...}
    ....
    if (...) {          
       obj.code = 423;      
       obj.message = "No more attempts";        
       return obj;    
} else {...} 
})();

我在开始时设置了一个对象,然后映射一个json消息,以便检索具有不同代码/消息响应的主体。 因此,当端点进入这些条件时,它返回对象,Header始终为200(呼叫成功)。像这样:

  

HTTP / 1.1 200 确定" x-frame-options":" SAMEORIGIN","缓存控制":   " no-cache"," content-type":" application / json; charset = UTF-8",

     

" transfer-encoding":" chunked"," date":" Thu,01 Jun 2017 15:17:44 GMT"

     

{       "代码":422,       " message":" Code Expired"   }

是否可以在状态代码中映射错误?为了检索如下内容:

  

HTTP / 1.1 422 不可处理的实体" x-frame-options":" SAMEORIGIN","缓存控制":   " no-cache"," content-type":" application / json; charset = UTF-8",

     

" transfer-encoding":" chunked"," date":" Thu,01 Jun 2017 15:17:44 GMT"

     

{       "代码":422,       " message":" Code Expired"   }

1 个答案:

答案 0 :(得分:0)

我想我只需要在回复中抛出一个错误代码,比如

...
else {
  throw {
    code : 400,
    message : "Error"
  };
}
...