我試圖發送以下訊息
Invalid query parameters detected:
=== Error No. 1 ==========
Required property is missing
● Property / element: 'Deserialized query parameters of http://127.0.0.1:90/api/categories route.paginationPageNumber'
This property is 'undefined' while has been marked as required.
● Property / element specification:
{
"type": "number",
"required": true,
"numbersSet": "NATURAL_NUMBER"
}
● Actual value: undefined
● Value before first pre-validation modification: undefined
< etc. >
通過
response. // (is "http.ServerResponse")
writeHead(HTTP_StatusCodes.badRequest, errorMessage).
end();
在errorMessage變數中。下面發生了 NodeJS 錯誤:
Caught error:
TypeError [ERR_INVALID_CHAR]: Invalid character in statusMessage
at new NodeError (node:internal/errors:371:5)
at ServerResponse.writeHead (node:_http_server:322:11)
// ...
我不知道 NodeJS 抱怨哪個字符(可能是斜線),但我想我使用的第二個引數writeHead不正確。如果是這樣,有兩個問題:
errorMessage應該是哪個?只是“錯誤請求”或“未經授權”?- 我應該在哪里附加上面的登錄訊息?
uj5u.com熱心網友回復:
官方檔案可以參考這個
您可以發送這樣的回復
let body = error_message; // or whatever response you want to send back to the sender
response
.writeHead(STATUS_CODE, {
'Content-Type': 'your_header_content_type'
}).end(body);
至于狀態碼,你可以參考這里的Mozilla 約定(使用相當廣泛)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/463604.html
