2016-11-13 38 views
0

那好吧,我有一个问题,Angular2如何正确放置请求

请求URL:http://.../rest/1.0/brand/test145 请求方法:PUT 状态代码:500内部服务器错误 远程地址:...

请求负载是确定 { “名”: “test145” }

addBrand(name : string){ 
    let body = JSON.stringify(name) 
    let url = this.baseUrl + '/brand/' + name; 
    return this.http.put(url, { name } ). 
    map(res => res.json()); 
} 

addBrand(name:any){ 
if(!name){return;} 
this.BrandService.addBrand(name) 
.subscribe(
    name => this.name.push(name), 
    error => this.errorMesage = <any>error); 

} 

但放应该像http://.../rest/1.0/brand/然后,应该只是请求有效载荷。当我从中删除“名称”时,它不会加载有效负载。

回答

0

stricly PUT是更新的,所以URL应该采用以下格式:

http://.../rest/1.0/brand/test145其中最后一个部分是唯一的ID(你需要指出你的意思是要更新什么)

如果你希望创建一个记录,你应该宁愿发邮件到http://.../rest/1.0/brand

但是你总是可以选择偏离惯例。为了PUT到.../brand有效载荷{ "name": "test145" }您需要:

addBrand(name : string){ 
    let body = JSON.stringify({ name: name }) 
    let url = this.baseUrl + '/brand' 
    return this.http.put(url, body). 
    map(res => res.json()); 
}