简体   繁体   English

如何处理带有响应或自定义错误的“PayloadTooLargeError”?

[英]How to handle "PayloadTooLargeError" with a response or a custom error?

im trying to put a payload limit of 1kb using:我试图使用以下方法设置 1kb 的有效负载限制:

app.use(bodyParser.json({
 limit: "1kb" ,
 strict:true
       }));

its working perfectly as it suppose to work, but the only problem is i get an error of它工作得很好,因为它应该工作,但唯一的问题是我得到一个错误

PayloadTooLargeError: request entity too large
at readStream (E:\Work\FIGHTME\V1.0\api\node_modules\raw-body\index.js:155:17)
at getRawBody (E:\Work\FIGHTME\V1.0\api\node_modules\raw-body\index.js:108:12)
at read (E:\Work\FIGHTME\V1.0\api\node_modules\body-parser\lib\read.js:77:3)
at jsonParser (E:\Work\FIGHTME\V1.0\api\node_modules\body-parser\lib\types\json.js:135:5)
at Layer.handle [as handle_request] (E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\router\index.js:317:13)
at E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\router\index.js:284:7
at Function.process_params (E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\router\index.js:335:12)
at next (E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\router\index.js:275:10)
at expressInit (E:\Work\FIGHTME\V1.0\api\node_modules\express\lib\middleware\init.js:40:5)

is there any way to handle this error through callback or anything so i show a custom error or send a custom response?有没有办法通过回调或任何方法来处理此错误,以便我显示自定义错误或发送自定义响应?

Have you tried like this你试过这样

app.use(express.json({limit: '1kb'}));

Parsing request body as middleware is available in Express v4.16.0 onwards.从 Express v4.16.0 开始,可以将请求正文解析为中间件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM