Tôi sẽ viết một API an toàn, yêu cầu của tôi là gọi các phương thức trên đối tượng "Giao dịch", tôi đã tự hỏi làm thế nào tôi nên gọi Post/PUT với mẫu URI thích hợp để tôi có thể Tạo/cập nhật tài nguyên Giao dịch mà không sử dụng "động từ" trong ánh xạ Uri.Mẫu URI cho POST/PUT dịch vụ an toàn
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/Transaction/{**What to write here ????**}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Transaction AddTransaction(Transaction transaction)
{
return AddTransactionToRepository(transaction);
}
[OperationContract]
[WebInvoke(Method = "PUT", UriTemplate = "/Transaction/{**What to write here ????**}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Transaction UpdateTransaction(Transaction transaction)
{
return UpdateTransactionInRepository(transaction);
}
Hãy xem xét rằng tôi muốn áp dụng phương pháp hay nhất để lập bản đồ uri và không muốn "động từ" trong đó, chỉ "danh từ". Cũng cho tôi biết cách khách hàng sẽ truy cập các phương thức này cho Đăng và Đặt bằng URI duy nhất. Cảm ơn
Cảm ơn Mark đã làm rõ, tôi đã nhầm lẫn về cách khách hàng sẽ giao tiếp theo cách dễ đọc hơn, nhưng tôi đoán khách hàng phải gọi cùng một url nhưng chỉ định các hành động khác nhau, đặt, xóa trong khi gọi phương thức Api. – MSUH
@MSUH Chính xác là – VJAI
@Mark, Tại sao cả hai phương thức này trả về một đối tượng Giao dịch? Tôi hiểu rằng phương thức POST có thể cần điều này vì Id có thể là số được tạo tự động trên cơ sở dữ liệu, nhưng tại sao phương pháp PUT? Cảm ơn. – RobJohnson