2012-02-14 33 views
6

MVC có phải là RESTful không?Là MVC RESTful theo thiết kế

Có cách nào để thực hiện dịch vụ SOAP sử dụng mẫu MVC không?

có yêu cầu đầu vào thực sự đi vào View đầu tiên và sau đó vào Controller thì Model ví dụ:

Request -> View -> Controller -> Model 

nhưng khi làm như vậy, đó là không có mô hình MVC lâu hơn. (đúng vậy phải không?)

Cách khác, chúng ta sẽ nhận được phản hồi đã nhập bằng cách sử dụng SOAP nhưng vẫn tuân thủ (hoặc gần với) mẫu MVC. Liệu MVVM có phù hợp hơn với tình huống này không?

+1

Tôi không hiểu tại sao MVC thu hút được nhiều sự chú ý. – duffymo

+0

@duffymo Tôi đồng ý ... đó không phải là lựa chọn của tôi – Seph

+0

@duffymo và Seph> bạn đang sử dụng công nghệ nào? – Adi

Trả lời

21

REST mô tả cách bạn giao diện với ứng dụng, trong khi MVC là cách bạn triển khai ứng dụng. Một ứng dụng được triển khai bằng MVC có thể là RESTful hay không.

SOAP là giao thức để giao tiếp với ứng dụng, có thể được triển khai bằng MVC.

Trong MVC yêu cầu đi vào bộ điều khiển, tạo mô hình cho chế độ xem.

Request -> [Controller] -> Model -> [View] -> Response 
+0

cho SOAP đã nhập để hoạt động (ví dụ: WSDL), bạn vẫn cần phải bọc yêu cầu trong một trình bao bọc an toàn loại, không? – Seph

0

Yêu cầu được chuyển đến một hành động trên bộ điều khiển của bạn, sử dụng mô hình (mà bạn xác định; nó chỉ là cấu trúc thể hiện hành động và chế độ xem của bạn). Hành động này trả lại ActionResult, thường là, nhưng không nhất thiết phải là, ViewResult (về cơ bản chỉ thực thi trang xem bạn đã chỉ định, sử dụng mô hình bạn chỉ định, nếu có). Tuy nhiên, bạn không phải trả lại Chế độ xem; Bạn có thể tạo bất kỳ loại ActionResult nào bạn muốn. Bạn có thể trả về XML, JSON, SOAP, nội dung nhị phân, bất cứ điều gì.

MVC là an toàn trong tự nhiên, nhưng nó không tuân thủ chặt chẽ với REST và có thể được điều chỉnh theo bất cứ điều gì bạn thấy phù hợp. Bạn có thể có bộ điều khiển của bạn nói SOAP, nhưng câu hỏi của tôi là tại sao bạn, nếu công việc đó đã được thực hiện cho bạn trong các công nghệ khác (như WCF)?

0

HTTP được thiết kế là RESTful. Thảo luận chi tiết về REST là gì here. MVC không có hạn chế về việc phải RESTful hay không. ASP.Net MVC hỗ trợ kiểu REST của phát triển web. Bạn có thể làm cho bạn trang web RESTful hay không, đó là sự lựa chọn của bạn. SOAP là giao thức. Trong Net là tốt hơn để sử dụng WCF để đối phó với SOAP. Dịch vụ WCF có thể được triển khai cùng với ứng dụng ASP.Net MVC của bạn. Nhưng chúng tôi không có triển khai MVC bên trong WCF. Nói chung, chúng tôi không có phần giao diện người dùng trong các dịch vụ Web/WCF.

Các vấn đề liên quan