所以这不是http失败,这基本上是在成功响应之后,如果某些条件不符合我们提出的响应,则我们将基于逻辑应用过滤器,该响应应引发预期错误。因此,我认为在正确的地方添加了代码,只是好奇是否存在服务失败,因此该代码会影响我的看法,我认为这种情况应该可以解决。
main.js
app.post('url', async (req, res) => {
try {
const drugPriceResponse = await fetchDrugPrice(req, externalId, tokenId, drugName);
if (drugPriceResponse.status && drugPriceResponse.status === 500) {
res.send(500).send(drugPriceResponse);
} else {
res.status(200).send({
drugPrice: drugPriceResponse
});
}
} catch (e) {
console.log(e);
if (e.response) {
res.status(e.response.status).send(e.response.data);
} else {
res.status(500).send(defaultErrorResponse);
}
}
});
数据
{
"drugPrice": {
"status": 500,
"title": "Internal Server Error",
"detail": "Drug prices are not valid"
}
};
预期输出
{
"status": 500,
"title": "Internal Server Error",
"detail": "Drug prices are not valid"
}