Angular2如何纠正put请求

时间:2016-11-13 13:41:53

标签: json rest angular typescript

好的,我有一个问题,

请求网址: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);

}

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

1 个答案:

答案 0 :(得分:0)

严格的PUT是更新,所以网址应该是格式:

http://.../rest/1.0/brand/test145其中最后一部分是唯一ID(您需要说明更新的意思)

如果您希望创建记录,则应该POST到http://.../rest/1.0/brand

但是你总是可以选择偏离惯例。要使用有效负载.../brand PUT到{ "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());
}