Verwenden der aktuellen Version von MassiveJS und Express für API-Aufrufe. Wenn die SAVE-Funktion Massive will eine Liste von Spaltennamen zu aktualisieren, wie folgt:Verwenden von MassiveJS für REST Put/Post speichert
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'
});
})
});
Wie Sie sehen können, wie die Spaltenliste länger und immer länger, dieser Code schwieriger wird, zu halten. Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, den gesamten req.body in einem einzigen Aufruf zu speichern, vorausgesetzt, die req.body-Schlüsselwerte stimmen mit den db-Spaltennamen überein. Das würde viel Zeit sparen und viel wartbarer sein.
Sind Sie vertraut mit Überbuchung? So kann ein böswilliger Benutzer beispielsweise admin: true setzen. Ich empfehle Ihnen, Ihre Formular-Posts aufzulisten. –
Ich bin nicht mit Überbuchung/White Listing vertraut. In all den Trainingsbeispielen, die das Senden von Formularen mit REST demonstrieren, werden diese Konzepte nicht erwähnt. Eine Google-Suche erzeugt verwirrende Antworten und keine klare Vorgehensweise in meinem Szenario - MassiveJS und Express/Express.Router(). Nun, Sie haben meine Neugier und Frustration, dass es noch eine weitere Ebene der Komplexität gibt, die auf etwas angewendet werden muss, das so einfach ist, wie Daten in einem db-Backend zu veröffentlichen. Gibt es etwas, das Sie mir zur Verfügung stellen können, um dies zu verstehen, insbesondere, wenn es um Ihre Lösung, Massive, geht? – CCPony
Rob - Ich glaube, dass Sie sich auf etwas beziehen, das diesem Beitrag ähnlich ist: http://stackoverflow.com/questions/28701258/mysql-whitelist-query. Das verstehe ich vollständig und habe Sicherheitsvorkehrungen getroffen, um böswillige Posts zu verhindern und sicherzustellen, dass Benutzer nur autorisierte Daten haben und nur autorisierte Personen veröffentlichen können. Ich kannte den Begriff "Whitelist" einfach nicht. Bezieht sich das irgendwie auf meine ursprüngliche Frage bezüglich des Problems der Langeweile und Wartung, Dutzende von Spalten bei der Verwendung von Massive.save() aufzulisten? Gibt es einen besseren Weg, das zu tun? – CCPony