現在のバージョンのMassiveJSを使用し、API呼び出しを表現します。 SAVE機能を使用する場合、大規模は、次のように列名のリストを更新したい:RESTのput/post保存にMassiveJSを使用する
router.put('/:id', function(req, res, next) {
db.suppliers.save(
{
id: +req.params.id,
name: req.body.name,
email: req.body.email,
column1: req.body.column1,
column2: req.body.column2,
column3: req.body.column3,
manyOtherColumns: req.body.manyOtherColumns,
etc...
}, function (err, result) {
if (err) {
return next(err);
}
return res.status(200).json({
status: 'SUCCESS',
message: 'Supplier has been saved'
});
})
});
あなたが見ることができるように列リストが長くなってきたように、このコードを維持することがより困難になります。 Req.bodyのキー値がdbの列名と一致すると仮定して、req.bodyの全体を1回の呼び出しで保存する方法があるかどうか疑問に思っていました。それは多くの時間を節約し、はるかにメンテナンス可能になります。
はあなたがオーバー投稿に精通していますか?これにより、悪意のあるユーザーはadmin:trueを設定できます。私は本当にあなたのフォームの投稿をリストするホワイトをお勧めします。 –
私はオーバーポスト/ホワイトリストに精通していません。 RESTを使用したフォームの投稿を示すすべてのトレーニングの例では、これらの概念について言及していません。 Google検索では、私のシナリオでは、混乱した反応や明確なアプローチを適用しません。 - MassiveJSとExpress/Express.Router()。さて、あなたは私の好奇心だけでなく、少しの欲求不満を抱いています。複雑さのもう一つの層は、データをdbバックエンドにポストするといった単純なものにも適用する必要があります。あなたが私の理解を助けるために提供することができるものはありますか?具体的にはあなたのソリューションに適用されるもの、Massive? – CCPony
ロブ - 私はあなたがこの記事のようなものを参照していると信じています:http://stackoverflow.com/questions/28701258/mysql-whitelist-query。これは私が完全に理解しており、悪質な投稿を防止するための保護手段を組み込んでおり、ユーザーが権限のあるデータのみにアクセスし、権限のある人のみから投稿できることを保証します。私はちょうど "ホワイトリスト"という言葉に慣れていませんでした。これは何らかの理由で、Massive.save()を使用しているときに何十も何十ものカラムを列挙するという退屈さとメンテナンスの問題に関する私の最初の質問に関連していますか?それを行う良い方法はありますか? – CCPony