2011-11-17 33 views
5

Google recommends việc sử dụng mẫu lệnh khi xây dựng các ứng dụng GWT phức tạp. Ý tưởng này dường như có một số công đức và các khuôn khổ khác nhau đã được phát triển để giúp đỡ. Tuy nhiên, hầu hết các ví dụ tôi tìm thấy đang sử dụng GWT-RPC cho giao tiếp máy khách/máy chủ.Mẫu lệnh có tương thích với các dịch vụ web RESTful không?

Chúng tôi đang xem xét phát triển một dịch vụ web RESTful cho chương trình phụ trợ Java của chúng tôi - và sử dụng nó cho giao tiếp máy khách/máy chủ (có thể sử dụng một khung như Resty).

Nhưng mẫu lệnh có còn tương thích với dịch vụ web còn lại không? Những URL còn lại sẽ trông như thế nào? Lệnh batching và undo sẽ được hỗ trợ như thế nào?

Trả lời

2

Bạn sẽ phải tự thực hiện theo đợt nếu bạn không sử dụng một số gói hỗ trợ nó. Tại công ty của chúng tôi, chúng tôi quyết định đi với giao diện REST thẳng - chi phí bằng cách viết lô hàng của riêng chúng tôi qua một API duy nhất ít hơn chi phí tạo API yêu cầu API công khai.

Bạn phải bằng cách nào đó mã hóa nhiều url còn lại và tải trọng của bạn thành một url và tải trọng duy nhất!

+1

Xem http://code.google.com/apis/gdata/docs/batch.html làm ví dụ. –

4

Mẫu lệnh là/là mẫu được đề xuất và là một bước tiến lớn từ việc xây dựng giao diện RPC sử dụng RemoteService và RemoteServiceServlet, tất cả đều có sẵn tại thời điểm trình bày Google I/O mà bạn tham khảo .

Phương pháp GWT-RPC rất tốt và hoạt động tốt và cung cấp cơ chế theo đợt và hoàn tác. Tôi phải nói rằng tôi đã không bao giờ thực hiện một chức năng undo() duy nhất trên bất kỳ trình xử lý của tôi mặc dù tôi làm cho việc sử dụng batching.

Cách tiếp cận mới hơn sẽ là sử dụng RequestFactory và ánh xạ mã của bạn lên dịch vụ của bạn. Điều này không hỗ trợ việc tạo nhóm nhưng không hoàn tác. Nó không phải là rất nhiều công việc để thực hiện nhưng có đặc thù của nó. Một ví dụ tốt đẹp có thể được tìm thấy here.

Nếu bạn cần một giao diện REST, sau đó sử dụng điều này trong GWT của bạn để lưu phát triển hai giao diện có vẻ như một ý tưởng hợp lý. Nhưng như @ Riley Lark nói rằng bạn sẽ phải viết lô của riêng bạn (và hoàn tác() nếu bạn cần).

Cảm giác của tôi là cả ghép và hoàn tác không thực sự phù hợp với phương pháp REST, nhưng đó chỉ là ý kiến ​​của tôi. Có một số thông tin khác here từ một câu hỏi tương tự.

Perosnally tôi có thể sử dụng cơ sở hạ tầng GWT và RequestFactory để thực hiện các giao thức máy chủ và tận dụng chuỗi và giao thức optomised và bảo vệ script chéo trang và viết một giao diện REST riêng cho bất kỳ nhu cầu sử dụng nó.

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