Javascript 使用邮递员进行API测试

Javascript 使用邮递员进行API测试,javascript,mongodb,rest,postman,Javascript,Mongodb,Rest,Postman,我正在为一些项目开发RESTAPI,并使用postman在我的mLab服务器上发送数据来测试它们。但我能得到的只是: { "error": { "message": "ENOENT: no such file or directory, open 'C:\\Users\\Admin\\Desktop\\periodical API\\uploads\\2018-06-16T14:34:38.384Zhd-wallpaper-of-live.jpg'" } } 这是我

我正在为一些项目开发RESTAPI,并使用postman在我的mLab服务器上发送数据来测试它们。但我能得到的只是:

{
 "error": {
        "message": "ENOENT: no such file or directory, open 'C:\\Users\\Admin\\Desktop\\periodical API\\uploads\\2018-06-16T14:34:38.384Zhd-wallpaper-of-live.jpg'"

    }
}
这是我的路线代码:

const mongoose = require("mongoose");

const Product = require("../models/product");


exports.products_get_all = (req, res, next) => 
{
  Product.find()
    .select("name price quantity date subject _id productImage")
    .exec()
    .then(docs => {
      const response = {
        count: docs.length,
        products: docs.map(doc => {
          return {
            name: doc.name,
            price: doc.price,
            quantity: doc.quantity,
            date: doc.date,
            subject: doc.subject,
            productImage: doc.productImage,
            _id: doc._id,
            request: {
              type: "GET",
              url: "http://localhost:3000/products/" + doc._id
            }
          };
        })
      };

      res.status(200).json(response);

    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
};

exports.products_create_product = (req, res, next) => {
  const product = new Product({
    _id: new mongoose.Types.ObjectId(),
    name: req.body.name,
    price: req.body.price,
    quantity: req.body.quantity,
    date: req.body.date,
    subject: req.body.subject,
    productImage: req.file.path
  });
  product
    .save()
    .then(result => {
      console.log(result);
      res.status(201).json({
        message: "Created product successfully",
        createdProduct: {
          name: result.name,
          price: result.price,
          quantity: result.quantity,
          date: result.date,
          subject: result.subject,
          _id: result._id,
          request: {
            type: "GET",
            url: "http://localhost:3000/products/" + result._id
          }
        }
      });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
};

exports.products_get_product = (req, res, next) => {
  const id = req.params.productId;
  Product.findById(id)
    .select("name price quantity date subject _id productImage")
    .exec()
    .then(doc => {
      console.log("From database", doc);
      if (doc) {
        res.status(200).json({
          product: doc,
          request: {
            type: "GET",
            url: "http://localhost:3000/products"
          }
        });
      } else {
        res
          .status(404)
          .json({ message: "No valid entry found for provided ID" });
      }
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({ error: err });
    });
};

exports.products_update_product = (req, res, next) => {
  const id = req.params.productId;
  const updateOps = {};
  for (const ops of req.body) {
    updateOps[ops.propName] = ops.value;
  }
  Product.update({ _id: id }, { $set: updateOps })
    .exec()
    .then(result => {
      res.status(200).json({
        message: "Product updated",
        request: {
          type: "GET",
          url: "http://localhost:3000/products/" + id
        }
      });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
};

exports.products_delete = (req, res, next) => {
  const id = req.params.productId;
  Product.remove({ _id: id })
    .exec()
    .then(result => {
      res.status(200).json({
        message: "Product deleted",
        request: {
          type: "POST",
          url: "http://localhost:3000/products",
          body: { name: "String", price: "Number" }
        }
      });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
};

我自己也无法解决这个问题,因为我对开发API有点生疏。

在Linux服务器上,这意味着

“没有这样的文件或目录”

说你得到的回应是想让你知道

  • 您试图保存的目录不存在

  • 您要查找的文件位置不存在

  • 我建议您在尝试访问目录或读取文件之前,使用调试器工具停止执行。这样,您就可以了解代码失败的地方

    现在很多时候,当我遇到这个错误时,通常意味着目录不存在,但更常见的是,您没有保存文件的权限

    祝你好运,我希望这会有帮助


    @Ashish请您详细说明一下,因为我尝试了其他可能的方法来定义文件的路径。这两种路径类型我都很清楚。还有那个.jpg文件,我正在把它上传到服务器上。所以它的路径没有问题。我以前在不同的机器上试过同样的东西,效果很好。但现在被困在不同的机器上。你需要首先访问这里