c# - Angular 2 Http 删除 header 以便与 Web API REST 一起使用

标签 c# angular asp.net-web-api typescript angular2-http

我使用了 Angular 2 Release 并使用了 @angular/http 中的 Http 和 headers。

我尝试使用 header 调用动词删除,以及其他动词 POST、GET 和 PUT,好吧。但是用“DELETE”就不行了。

我的代码:

remove(url:string, id:any) {
   let headers = new Headers();
   headers.append('Authorization': 'Bearer ' + this.token);
   return this.http.delete(url, {
        headers: headers;
        body: { id: id }
   }).map(response => response.json());
}

收到的响应是:请求的资源不支持http方法“删除”。

在我的 Controller 中,我有这样的一些:

[HttpDelete]
public Task<HttpResponseMessage> Delete(int id)
{
    //..
}

感谢您的帮助,问候!!

最佳答案

对我有用的解决方案是使用查询字符串,这样:

remove(urlController:string, id:any){
   let headers = new Headers();
   headers.append('Authorization': 'Bearer ' + this.token);
   return this.http.delete(urlController + '/?id=' + id, {
    headers: headers;
    }).map(response => response.json());
}

示例:

remove(urlController:string, id:any){
   let headers = new Headers();
   headers.append('Authorization': 'Bearer ' + this.token);
   return this.http.delete('users'+ '/?id=' + '2', {
    headers: headers;
    }).map(response => response.json());
}

关于c# - Angular 2 Http 删除 header 以便与 Web API REST 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40793224/

相关文章:

azure - 在 Windows Azure 的何处部署 Web Api : as Website or as Cloud Service?

c# - 自动映射器映射嵌套对象

c# - .NET 应用程序中找不到名为 "XX.dll"的后备文化 "en-US"的附属程序集错误

c# - FileStream 与/差异 StreamWriter?

angular - 在Windows中的 Angular 项目中更改任何内容时Docker都不会重新编译

angular - 如何在 Angular 7 的路由保护子句中访问路由参数?

c# - 如何在C#和Azure启动任务中自动更新EXE项目?

c# - 在遗留 tcp IP 服务器和 WCF 应用程序之间进行通信

angular - 类型错误 : Cannot read property 'pipe' of undefined (jasmine, Angular )

c# - ASP .NET WebAPI 无法访问路由