0
だから、このリクエストはマルチパートタイプであれば、私は、koa2、 を私はkoa ctxはマルチパート/フォームデータ型かどうかを区別する方法は?
ctx.request.body.fields
を処理する必要があると信じて使っていそう私は
ctx.request.body
を処理するので、これらの2を区別して処理するための最良の方法は何でしょうケース?
だから、このリクエストはマルチパートタイプであれば、私は、koa2、 を私はkoa ctxはマルチパート/フォームデータ型かどうかを区別する方法は?
ctx.request.body.fields
を処理する必要があると信じて使っていそう私は
ctx.request.body
を処理するので、これらの2を区別して処理するための最良の方法は何でしょうケース?
私の考えは、フォーム提出とその他の活動を確認する必要がある場合は、エンドポイントが多少行っていると思いますか?当然、あなたのユースケースに大きく依存しますが、フォームデータと他のコンテンツタイプを別々に保つことは、より明確なAPIになる可能性があります。
私は、fields
の存在を確認するよりも複雑になる理由は見当たりません。 koa-body
はこの問題を解決するのに最適な方法です。
ミドルウェアスタックを使用することをお勧めします。たとえば、フォームの提出があっても、他の操作を許可する場合にのみ行います。
router.post('/', koaBody({ multipart: true }),
async (ctx, next) => {
if (ctx.request.body.fields) {
// Handle form if present
}
await next() // Pass control down the stack
}
))
誰にでも私に-1を与えました。検索するものを知っているなら、私はここで質問しません。これらのキーワードに基づいて質問を理解できない場合は、コードを書く資格はありません。 – user3552178
'ctx.req.headers'をチェックして、' Content-Type'を見ることができませんでしたか? – saadq
@saadq今のところ、ctx.request.body.fieldsが定義されていないかどうかを確認できます。しかし、非常に多くのパッケージがあります:koa-body、koa-bodyparser、koa-better-body ...私はこれを行うための最善の方法を探しています。 – user3552178