我想对数据库中存储的数据进行基本编辑(mongoDB)。 这就是我所做的:
角色服务
<typeHandlers>
<typeHandler javaType="string" jdbcType="BLOB" handler="org.apache.ibatis.type.StringTypeHandler"/>
</typeHandlers>
deleteReview(id){
createReview(review) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://localhost:3000/api/reviews', JSON.stringify(review), { headers: headers })
.subscribe(res => {
console.log(res.json());
});
}
editReview(review) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://localhost:3000/api/reviews', JSON.stringify(review), { headers: headers })
.subscribe(res => {
console.log(res.json());
});
}
}
server.js中的
this.http.delete('http://localhost:3000/api/reviews/' + id).subscribe((res) => {
console.log(res.json());
});
创建新评论工作正常并删除评论。但是当涉及到编辑时,我在server.js的app.post函数中从req.params.review_id中获得了未定义的错误。 我确定我没有以正确的方式做到这一点。 如何使用这些库和框架更新数据?
答案 0 :(得分:0)
如评论中所述,您使用的参数未在快速申请的路线中定义。
通过将路径定义写为:
,可以使参数可选(将与创建和编辑一起使用)app.post('/api/reviews/:review_id?', function(req, res) {
/* .... */
} );
请记住,遵循适当的REST架构,您应该在PUT
请求中分离实体的编辑。
app.post( '/api/reviews', function( req, res ) { /** Handle Create */ } );
app.put( '/api/reviews/:review_id', function( req, res ) { /** Handle Edits */ } );