我有一个应该根据一些内部逻辑返回错误状态500/400的函数。由于某些原因,无论我返回什么,Azure函数都会始终返回HTTP状态200。
这是一个样本
if (err) {
console.error('some error :', err);
context.res = { status: 400, body: err };
} else {
context.res = processRequest(context, req);
}
context.done();
返回状态200 OK
下面是我的函数绑定
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req"
},
{
"type": "http",
"direction": "out",
"name": "res"
}
], "disabled": false
}
答案 0 :(得分:2)
啊!最终不得不将IsRaw属性设置为true
context.res = {
headers: {
'Content-Type': 'application/json'
},
status: 400,
body: {
err
},
isRaw: true,
};