我正在尝试从 RESTlet 中抛出自定义错误,并尝试使其与 NetSuite 的错误格式类似。我希望客户端看到 HTTP 代码 400。当我使用脚本 v1 时,我只需这样做:
throw nlapiCreateError('MY_ERROR_CODE', 'My message');
在这种情况下我得到这样的答案(这是我的目标):
{
"error":
{
"code": "MY_ERROR_CODE",
"message": "My message"
}
}
但是当我使用脚本 v2 时,我会这样做:
throw error.create({
name: 'MY_ERROR_CODE',
message: 'My message'});
我明白了:
{
"error":
{
"code": "JS_EXCEPTION",
"message": "{"type":"error.SuiteScriptError","name":"MY_ERROR_CODE","message":"My message","stack":["createError(N/error)","prevalidations(SuiteScripts/RESTlet.js:152)","doPost(SuiteScripts/RESTlet.js:86)","createError(N/error)"],"cause":{"name":"MY_ERROR_CODE","message":"My message"},"id":""}"
}
}
如果我使用 v2,谁能告诉我如何在使用 v1 时获得答案?
最佳答案
我没有足够的代表来回复答案。因此,作为 Prajakta 解决方案的后续,不是创建错误对象然后抛出它,而是引用消息字段。您可以按照以下方式同时创建和抛出:
throw error.create({
name: 'FAILURE',
message: 'Error details here',
notifyOff: false
}).message;
关于javascript - 如何从 NetSuite 中的 RESTlet 引发自定义错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959171/