Tôi đang cố gắng nói chuyện với một API phần nào RESTful từ giao diện Angular 2.Nội dung của yêu cầu Http.DELETE trong Angular2
Để xóa một số mục khỏi bộ sưu tập, tôi cần gửi một số dữ liệu khác ngoài id duy nhất được xóa (có thể được thêm vào url), cụ thể là mã thông báo xác thực, một số thông tin thu thập và một số dữ liệu phụ trợ.
Cách đơn giản nhất mà tôi đã tìm thấy để làm như vậy là đặt mã thông báo xác thực vào tiêu đề yêu cầu và dữ liệu khác trong nội dung.
Tuy nhiên, các mô-đun Http của góc 2 không khá chấp nhận một yêu cầu DELETE với một cơ thể, và cố gắng để thực hiện yêu cầu này
let headers= new Headers();
headers.append('access-token', token);
let body= JSON.stringify({
target: targetId,
subset: "fruits",
reason: "rotten"
});
let options= new RequestOptions({headers:headers});
this.http.delete('http://testAPI:3000/stuff', body,options).subscribe((ok)=>{console.log(ok)}); <------line 67
cho lỗi này
app/services/test.service.ts(67,4): error TS2346: Supplied parameters do not match any signature of call target.
Bây giờ, Tôi đang làm một cái gì đó sai cú pháp khôn ngoan? Tôi chắc rằng một cơ thể DELETE được hỗ trợ trên RFC
Có cách nào tốt hơn để gửi dữ liệu đó không?
Hoặc tôi chỉ nên đổ nó vào tiêu đề và gọi nó là một ngày?
Bất kỳ cái nhìn sâu sắc về câu hỏi hóc búa này sẽ được đánh giá
sử dụng POST và đổi tên từ xóa để tìmVui lòng lưu ý. – YOU
@YOU Có, nhưng tôi không nên cố gắng giữ các hành động phá hoại khác biệt với những hành động phá hoại ngay ở cấp yêu cầu? – TriTap
sau đó bạn sẽ phải đặt nó trong chuỗi truy vấn, nhưng thông thường bạn đặt id của những gì bạn muốn yo xóa trong url, và bearer xác thực trong tiêu đề ajax để gửi yêu cầu xóa. – YOU