Tôi sử dụng Angular $resource
cho dịch vụ REST. Do sự lừa đảo trong phản hồi của tôi, tôi không thể sử dụng dịch vụ tài nguyên $ cho ứng dụng CRUD.
Tạo một tác phẩm đối tượng mới (nói cho Card), smilar để:
var newCard = new CreditCard();
newCard.name = "Mike Smith";
newCard.$save();
Get cũng làm việc:
var card = CreditCard().get({_id:1)
Nhưng, phản ứng GET không phải là đối tượng Card
chính nó, nhưng khác tin nhắn với nó (đối tượng bao bọc)
{ message: ".....",
response: Card //object
}
vì vậy khi tôi lưu truy xuất mẫu ved thông qua tài nguyên, nó sẽ gửi đối tượng bao bọc (với đối tượng Thẻ đã sửa đổi trong trường phản hồi). Điều này có thể đúng, nhưng máy chủ của tôi mong đợi đối tượng Thẻ không phải là trình bao bọc. Có cách nào để tùy chỉnh $ tài nguyên để nó gửi đối tượng mong muốn không. Từ tài liệu, có vẻ như chỉ có thể thay đổi thông số url.
$resource(url[, paramDefaults][, actions]);
Bạn có thể đăng một ví dụ hoàn chỉnh về jsfiddle hoặc tương tự không? Theo kinh nghiệm của tôi, CRUD (đơn giản) không cần thiết phải tạo ra một đối tượng mới như thế. Điều gì sẽ xảy ra nếu bạn chỉ truy cập vào tài nguyên của mình như $ scope.card = Card.get ({_ id: 1), trong đó Thẻ là dịch vụ tài nguyên của bạn? Ngoài ra, nếu bạn nói với mẫu của bạn những gì mô hình của bạn là, dụ được tự động dân cư. – Narretz
Tôi không nghĩ rằng vấn đề của bạn là ở Góc. Âm thanh gần giống như việc triển khai REST của bạn ở phía máy chủ có một số vấn đề. Không nên có một tin nhắn gắn liền với nó. Bạn có thể muốn kiểm tra điều đó trước để đảm bảo rằng phần thân của phản hồi chỉ là đối tượng bạn đang mong đợi. –
Máy chủ thực sự đang gửi một trình bao bọc xung quanh đối tượng thực tế. Tuy nhiên, là có một cách để gửi chỉ các đối tượng khi gửi lại cho máy chủ (POST) – bsr