环回错误 - 值不是对象

时间:2017-10-14 17:14:45

标签: express loopbackjs loopback

我在后端使用loopback。我收到此错误

<StackLayout Orientation="Vertical" BackgroundColor="Black" Padding="4" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
    <StackLayout Orientation="Vertical" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" BackgroundColor="White" Padding="4">
        <!--Put your editor here-->
    </StackLayout>
</StackLayout>

我已经搜索过stackoverflow,但我没有找到答案。基本上,我试图使用身体解析器。我经历了一个stackoverflow线程并实现了它的解决方案。我成功地使用了body-parser。所以,这个错误已经解决了。但是,现在这个错误让我很难过。

server.js文件

    Unhandled error for request POST /api/meetups/auth: Error: Value is not an object.
        at errorNotAnObject (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/types/object.js:80:13)
        at Object.validate (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/types/object.js:51:14)
        at Object.fromTypedValue (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/types/object.js:14:22)
        at Object.fromSloppyValue (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/types/object.js:41:17)
        at HttpContext.buildArgs (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/http-context.js:193:22)
        at new HttpContext (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/http-context.js:59:20)
        at restStaticMethodHandler (/Users/ankursharma/Documents/projects/meetupz/node_modules/strong-remoting/lib/rest-adapter.js:457:15)
        at Layer.handle [as handle_request] (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/layer.js:95:5)
        at next (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/route.js:137:13)
        at Route.dispatch (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/route.js:112:3)
        at Layer.handle [as handle_request] (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/layer.js:95:5)
        at /Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/index.js:281:22
        at Function.process_params (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/index.js:335:12)
        at next (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/index.js:275:10)
        at Function.handle 
(/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/index.js:174:3)
        at router (/Users/ankursharma/Documents/projects/meetupz/node_modules/express/lib/router/index.js:47:12)

在middleware.json中,我也更新了parse属性

'use strict';

var loopback = require('loopback');
var boot = require('loopback-boot');
var bodyParser = require('body-parser');
var multer = require('multer');

var app = module.exports = loopback();

//code for body parsing
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

//code for body parsing ends

app.start = function() {
  // start the web server
  return app.listen(function() {
    app.emit('started');
    var baseUrl = app.get('url').replace(/\/$/, '');
    console.log('Web server listening at: %s', baseUrl);
    if (app.get('loopback-component-explorer')) {
      var explorerPath = app.get('loopback-component-explorer').mountPath;
      console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
    }
  });
};

// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
  if (err) throw err;

  // start the server if `$ node server.js`
  if (require.main === module)
    app.start();
});

出于某种原因,该错误已经消失。不确定,可能会再来。但现在,这是错误,我看到了

"parse": {"body-parser#json": {},
    "body-parser#urlencoded": {"params": { "extended": true }}},

3 个答案:

答案 0 :(得分:0)

检查您的过滤器或网址是否有空格(例如%20),或者过滤器或网址是否有问题。

答案 1 :(得分:0)

环回3使arrayobject之间有所不同。您必须检查您的数据类型。有关更多信息,请参见https://github.com/strongloop/strong-remoting/issues/360

答案 2 :(得分:0)

我遇到了同样的错误,但在我的情况下,这是由于模型属性数据长度造成的。该属性是类型对象和一个小数据长度,这导致了我的 sql 模型表中的错误记录。我必须手动删除那些错误记录并增加该属性的 dataLength 。 重启应用