最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从express中的PATCH请求获取请求有效负载

IT培训 admin 2浏览 0评论

如何从express中的PATCH请求获取请求有效负载

我正在使用Ember.js和Express网络服务器。默认的JSONApi适配器使用PATCH请求向服务器调用更新记录,并在请求中向服务器设置Request Payload

我很难在快递服务器上从请求中获取数据

以下是Ember发送到服务器的示例请求

Express服务器的相关代码如下所示

app.route('/tags/:id')
  ...
  .patch(tag.updateTag);

// UpdateTag

function updateTag(req,res) {
  Tag.findById({_id: req.params.id}, (err,tag) => {
    if(err) res.send(err);
    Object.assign(tag, req.body).save((err,tag) => {
      if(err) res.send(err);

      res.json(TagSerializer.serialize(tag));
    });
  });
}
回答如下:

我能够让这个工作。在express中我也使用jsonapi-serializer npm模块进行序列化和反序列化

结果我需要进行反序列化,并在其回调中使用数据来更新卷眼

function updateTag(req,res) {
  TagDeserializer.deserialize(req.body,(err,deserializedTag)=>{
    if(err){
      res.send(err);
    } else {
      Tag.findById({_id: req.params.id}, (err,returnedTag) => {
        if(err) res.send(err);
        Object.assign(returnedTag, deserializedTag).save((err,updatedTag) => {
          if(err) res.send(err);

          res.json(TagSerializer.serialize(updatedTag));
        });
      });
    }
  })
}

如何从express中的PATCH请求获取请求有效负载

我正在使用Ember.js和Express网络服务器。默认的JSONApi适配器使用PATCH请求向服务器调用更新记录,并在请求中向服务器设置Request Payload

我很难在快递服务器上从请求中获取数据

以下是Ember发送到服务器的示例请求

Express服务器的相关代码如下所示

app.route('/tags/:id')
  ...
  .patch(tag.updateTag);

// UpdateTag

function updateTag(req,res) {
  Tag.findById({_id: req.params.id}, (err,tag) => {
    if(err) res.send(err);
    Object.assign(tag, req.body).save((err,tag) => {
      if(err) res.send(err);

      res.json(TagSerializer.serialize(tag));
    });
  });
}
回答如下:

我能够让这个工作。在express中我也使用jsonapi-serializer npm模块进行序列化和反序列化

结果我需要进行反序列化,并在其回调中使用数据来更新卷眼

function updateTag(req,res) {
  TagDeserializer.deserialize(req.body,(err,deserializedTag)=>{
    if(err){
      res.send(err);
    } else {
      Tag.findById({_id: req.params.id}, (err,returnedTag) => {
        if(err) res.send(err);
        Object.assign(returnedTag, deserializedTag).save((err,updatedTag) => {
          if(err) res.send(err);

          res.json(TagSerializer.serialize(updatedTag));
        });
      });
    }
  })
}
发布评论

评论列表 (0)

  1. 暂无评论