2012-02-29 35 views
17

Tôi đang cố gắng xây dựng một dịch vụ web REST (phía máy chủ) cho phép một hệ thống đối tác kết nối/POST thông tin đơn hàng theo định dạng JSON. Tôi có nên sử dụng JAX RS (ví dụ từ JBOSS RESTEasy) hoặc Spring MVC để xây dựng một dịch vụ như vậy không? Cả hai dường như đủ khả năng để thực hiện cùng một điều như xa như xây dựng một dịch vụ REST là có liên quan.REST bằng cách sử dụng JAX RS hoặc Spring MVC

Cảm ơn bạn!

Trả lời

18

Phụ thuộc nếu bạn muốn tìm hiểu điều gì đó mới hoặc đi theo những gì bạn đã biết.

Nếu bạn đã có kinh nghiệm với Spring MVC và muốn hoàn thành công việc nhanh chóng, thì tôi khuyên bạn nên ở lại với Spring MVC. Có một số cải tiến gọn gàng cho các tính năng REST trong Spring 3.1, bao gồm khả năng tạo ra "end point documentation".

Nếu, mặt khác, bạn đang tìm cách mở rộng CV của bạn và/hoặc thích học các công nghệ mới, sau đó cung cấp cho JAX RS một đi. Tôi đã không sử dụng nó nhưng nó là một khuôn khổ WS chuyên dụng mà có thể sẽ có bất kỳ tính năng nào bạn muốn.

Tất nhiên, nếu bạn có kinh nghiệm với JAX RS nhưng không Spring MVC, sau đó ngược lại áp dụng :-)

10

Nếu bạn đang phát triển một dự án EE 5 thì tôi sẽ khuyên bạn sử dụng JAX-RS với mùa xuân. RI cho JAX-RS, Jersey, có một servlet điều phối Spring JAX-RS. Điều này làm cho việc quản lý tiêm phụ thuộc dễ dàng hơn với JAX-RS và cung cấp cho bạn tất cả các tính năng của Spring MVC như ràng buộc biểu mẫu và xác thực, nhưng bạn cũng có thể sử dụng cách tiếp cận chuẩn Java cho REST - và theo ý kiến ​​của tôi, dễ quản lý cách tiếp cận hơn Spring REST.

Nếu là ứng dụng EE 6, bạn có thể muốn suy nghĩ về việc bỏ mùa xuân vì JAX-RS là một phần của đặc tả EE 6 và bạn có thể sử dụng EE CDI trong các lớp JAX-RS của mình.

1

ý rằng Jersey có một lỗi có ảnh hưởng đến hội nhập với mùa xuân:

https://java.net/jira/browse/JERSEY-2301

Nói tóm lại nếu bạn cần Spring AOP tài nguyên JAX-RS của bạn nó sẽ không làm việc. Tiêm phụ thuộc hoạt động tốt.

0

REST có nhiều kiểu kiến ​​trúc hơn trong việc phát triển các dịch vụ web rất dễ hiểu mà không cần tài liệu cho nhà phát triển. Những người hiểu biết về công nghệ thông thường có thể dễ dàng hiểu các mẫu URL cũng như các kiểu phản hồi của JSON và hỗ trợ XML giúp dễ dàng tích hợp với các tiêu chuẩn mô đun hóa javascript mới như xương sống hoặc angular.js.

Mặt khác, SpringMVC tập trung hơn vào kiểu kiến ​​trúc kiểu xem-bộ điều khiển của các ứng dụng đang phát triển.

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