Giusto per essere più chiari su quello che serve per ottenere questo lavoro, qui sono i passi che ho preso:
Come descritto in precedenza, a $ app_home/server/middleware.json, aggiungere il corpo-parser alla sezione "analizzare":
{
"initial:before": {
"loopback#favicon": {}
},
"initial": {
"compression": {},
"cors": {
"params": {
"origin": true,
"credentials": true,
"maxAge": 86400
}
}
},
"session": {
},
"auth": {
},
"parse": {
"body-parser#json": {},
"body-parser#urlencoded": {"params": { "extended": true }}
},
"routes": {
},
"files": {
},
"final": {
"loopback#urlNotFound": {}
},
"final:after": {
"errorhandler": {}
}
}
Avanti, ho aggiunto il setup parser per $ app_home/server/server. js:
var loopback = require('loopback');
var bodyParser = require('body-parser');
var multer = require('multer');
var boot = require('loopback-boot');
var app = module.exports = loopback();
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.use(multer()); // for parsing multipart/form-data
app.start = function() {
...
...
cont'd
Poi, dato che non ho voglia di pasticciare con percorsi personalizzati, ho aggiunto il seguente a $ app_home/comuni/modelli/model.js:
module.exports = function(Model) {
Model.incoming = function(req, cb) {
cb(null, 'Hey there, ' + req.body.sender);
}
Model.remoteMethod(
'incoming',
{ accepts: [
{ arg: 'req', type: 'object', http: function(ctx) {
return ctx.req;
}
}],
returns: {arg: 'summary', type: 'string'}
}
);
};
ora posso correre la mia app con $ > slc run.
Quando si invia all'endpoint, ora viene analizzato correttamente e tutto va bene per il mondo. Spero che questo aiuti qualcun'altro!
Come si fa a capirlo? Dov'è la documentazione? –
È passato molto tempo da questo momento, ma penso che la mia piccola esperienza con Express.js mi abbia aiutato mentre mi muovevo in giro per tentare varie permutazioni di configurazione. – Antrikshy
Grazie fratello, mi hai salvato la giornata. –