豚吐露@wiki
413が返ってきてPOSTできない
最終更新:
ohden
-
view
413が返ってきてPOSTできない
事象
postしたら以下のresponseが帰って来て、処理されない。
statusCode: 413 message: request entity too large
原因
原因はNestJSのdefault設定。
NestJSは、defaultで"100kByte"のpayloadしか許容してない。
なので、POSTのpayloadの内容がでかすぎると、事象のトコに書いてるresponseが帰ってくる。
NestJSは、defaultで"100kByte"のpayloadしか許容してない。
なので、POSTのpayloadの内容がでかすぎると、事象のトコに書いてるresponseが帰ってくる。
対策
入力を減らすか、入力bufferを大きくする。
入力sizeの許容量を変えるには以下のように"bodyParser"を変更する。
"src/main.ts"を開いて、"bootstrap"でlisten()する前に以下の設定を追加。
create()するときにジェネリクス"<NestExpressApplication>"を追加して、目的に合わせてlimitの値を変更する。
create()するときにジェネリクス"<NestExpressApplication>"を追加して、目的に合わせてlimitの値を変更する。
$ vi src/main.ts
const app = await NestFactory.create<NestExpressApplication>(AppModule);
app.useBodyParser('json', { limit: '10mb' }); //application/json利用時のlimit size.
app.useBodyParser('urlencoded', { limit: '10mb', extended: true }); //URL encode形式のpost dataのlimit size.
とりあえず、上記は"10MByte"にした例。
ただ、fileのuploaderとか実装する場合とかでは、足りないかもしれんので適宜変更のこと。
ただ、fileのuploaderとか実装する場合とかでは、足りないかもしれんので適宜変更のこと。
更新日: 2023年10月11日 (水) 21時49分45秒