如何从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));
});
});
}
})
}