处理API调用中的缺失数据

时间:2017-02-17 19:51:42

标签: javascript node.js rest express mongoose

我有一个路由处理程序,需要传递一些数据(car.name)才能发挥其功能。

carRouter.route('/create')
  .post(carController.create)

function create(req, res, next) {
  const carInstance = new carModel({
    activated: false,
    name: body.car.name,

如果没有body.car.name,请表示崩溃。

我可以通过添加以下检查来处理这个问题:

if (body.car.name) {
  function create(req, res, next) {

但是,对于大量的模型属性,这很快变得很麻烦。

我已经在CarSchema本身进行了验证设置,因此我想将验证委托给mongoose,并且如果请求中缺少数据,请避免应用程序崩溃。

我已经在github上查看了很多真实世界的例子,试图找出如何处理它,结果好坏参与。

处理这种基本情况的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

TypeError因为试图阅读非对象的问题而被抛出?也许这会有所帮助:

name: body.car ? body.car.name : null

或者,如果您不关心name undefined

name: body.car && body.car.name