Bối cảnh:Tương đương với [Bind (Prefix = "principalId")] trong MVC4 Web Api?
Trong MVC3, tôi đã sử dụng cú pháp sau đây để xác định tùy chỉnh Action
tên tham số:
public ActionResult ActionName([Bind(Prefix = "principalID")] int userID,
[Bind(Prefix = "dependentID")] long applicationID)
Các tuyến đường cho hành động này được định nghĩa như sau (ActionNameConstraint
là một phong tục IRouteConstraint
) :
routes.MapHttpRoute(
"DependantAction",
"{controller}/{principalID}/{action}/{dependentID}",
new {controller = @"[^0-9]+", action = ActionNameConstraint.Instance, dependentID = RouteParameter.Optional}
);
Câu hỏi:
BindAttribute
là lớp System.Web.Mvc
. Có tương đương với điều này (tham số ràng buộc) trong Web Api không?
Tất nhiên, nếu có các giải pháp khác để đạt được kết quả tương tự, tôi rất muốn nghe chúng!
Tôi đã đánh giá bài viết đó thực sự, nó không thực sự đạt mục đích tương tự - bài viết chủ yếu bao gồm mô hình ràng buộc (hầu hết các tìm kiếm của tôi đã dẫn đến kết quả về mô hình ràng buộc thực sự) – diaho
ASP.NET Web API không có chức năng 'BindAttribute' được tích hợp. Ràng buộc tham số hành động được thực hiện với tính năng ràng buộc và định dạng mô hình của API Web. Vì vậy, nó không chỉ là chất kết dính mô hình. Một mẹo khác ở đây là: không sử dụng bất kỳ thứ gì trong không gian tên 'System.Web.Mvc' với ASP.NET Web API.99% thời gian, bạn sẽ gặp rắc rối nếu bạn làm điều này. – tugberk
Kiểm tra câu trả lời cập nhật. – Meligy