2012-07-05 23 views
6

Tôi đang cố gắng nắm bắt nhiều khái niệm mới mẻ đối với tôi và tôi cần một số giải thích về cách tốt nhất để tạo và truyền mô hình mạnh mẽ của tôi từ Bộ điều khiển MVC đến chế độ xem Dao cạo của nó bằng API Web.Gọi API web từ Bộ điều khiển MVC để xây dựng và truyền mô hình để xem

Như đã thấy trong nhiều ví dụ, bạn thường tạo mô hình từ một số kho lưu trữ và sau đó chuyển sang chế độ xem (được nhập mạnh hoặc không) và sau đó sử dụng cú pháp Razor cho phép bạn truy cập vào mô hình của mình phải sử dụng JavaScript.

Trường hợp mọi thứ trở nên phức tạp đối với tôi là khi tôi muốn sử dụng API Web để tạo mô hình tôi muốn sử dụng giống như tôi sẽ sử dụng nó như tôi đã mô tả trong đoạn trước.

Tôi có nên gọi HTTPClient mới để gọi dịch vụ API Web từ bên trong bộ điều khiển của mình không? Tôi có cần phải deserialize và định dạng phản ứng? vv ...

Tôi luôn thấy cuộc gọi và thao tác từ kịch bản trong quan điểm ...

Có thể ai đó chỉ cho tôi đi đúng hướng?

Cảm ơn.

+0

Không hoàn toàn chắc chắn Tôi hiểu thiết lập của bạn. Bạn đang sử dụng 'ApiController' để trả về dữ liệu cho một khung nhìn, hay bạn đang gọi một bộ điều khiển WebAPI khác từ bên trong một bộ điều khiển MVC tiêu chuẩn? – James

+0

Xin chào James, tôi đang gọi một bộ điều khiển WebAPI từ bên trong một bộ điều khiển MVC tiêu chuẩn. Bây giờ, vì tôi là loại thực hành, nó có thể là một apicontroller từ cùng một ứng dụng MVC nhưng cuối cùng tôi sẽ phải xây dựng các dịch vụ WebAPI độc lập mà tôi sẽ gọi từ các ứng dụng khác. – jbrabant

Trả lời

8

Nếu WebAPI của bạn là điểm cuối riêng biệt, tức là không phải là một phần của trang web hiện tại, thì bạn sẽ phải gửi HttpWebRequest từ bên trong bộ điều khiển của mình và sau đó tuần tự hóa dữ liệu từ phản hồi và chuyển dữ liệu đó vào chế độ xem của bạn.

Hoặc bạn có thể gọi API trực tiếp từ bên trong chế độ xem của mình qua AJAX, tuy nhiên, tôi không chắc liệu bạn có cần bộ điều khiển của mình thực hiện điều gì đó với dữ liệu trước khi xem xuống hay không.

+0

Cảm ơn câu trả lời của bạn James. Có quyền nói rằng không cần apicontrollers NẾU người tiêu dùng duy nhất là ứng dụng MVC của tôi? – jbrabant

+8

Cách để xem xét nó là - ApiControllers trả lại * dữ liệu * ví dụ XML/Json cho comsumption bởi một khách hàng, bộ điều khiển MVC tiêu chuẩn trả về * xem * để được phục vụ cho trình duyệt. Bộ điều khiển tiêu chuẩn cũng có thể trả về dữ liệu nhưng với mục đích của điều này nghĩ về chúng như là bộ điều khiển * xem *. Vì vậy, hãy cân nhắc mọi thứ, hãy tự hỏi mình loại bộ điều khiển nào bạn cần ... – James

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