ما هو أفضل Java-Way لإنشاء خدمات Web Rest JSON / XML التي تشبه WCF؟

StackOverflow https://stackoverflow.com/questions/764707

سؤال

أبحث عن أفضل طريقة متاحة لمطوري Java لتنفيذ خدمات الراحة التي ستتواصل عبر JSON أو XML. أنا أبحث عن منتجات جاهزة للإنتاج.

أعلم أن الربيع 3.0 قادما، لكنه لم يحدث بعد - لا حظ.

هو جيرسي واحد؟

يستضيف طلبي من قبل Tomcat، ويستخدم الربيع والطفيس و Xstream.

أود استخدام حزمة مفتوحة المصدر التي ستسمح لي بذلك تجربة تطوير مماثلة مثل WCF.NET، حيث يمكنني إعلان قوالب URL، والخريطة Get / Post واحصل على إخراج إما في XML أو JSON. يجب أن يكون الحمولة المقبولة XML أو JSON أيضا.

أي أفكار هناك؟

هل كانت مفيدة؟

المحلول

جيرسي، ويسترد، والديدين جميع المطالبة بفعل ما تسأل. لقد حاولت فقط الرينلت، وأعتقد أنه كان سيئا جدا.

لم يصل Spring 3 إلى الإصدار النهائي حتى الآن، ولكن يبدو أن بناء M2 صلبا جدا، ولديه الأشياء البقية هناك. إذا كنت أبني WebApp راحة جديدة، فربما أخطر المخاطرة مع M2.

نصائح أخرى

حاولت مع الريسلت، واستعادة، جيرسي، CXF، الربيع. فيما يلي تعليقاتي:

  1. الرينلت: نوع من سيئة مع مجموعة التعليقات التوضيحية الخاصة بها. والضيق قليلا كذلك. لا يمكن إلقاء اللوم على الرغم من ذلك، حيث أنهم يحدقون تنفيذ هذا حتى قبل جاكس روبية هناك.

  2. Resteasy / Jersey / CXF: سهلا كما هو اسمه. بسيطة ومباشرة إلى الأمام لبدء العمل على ذلك. جزء جيد لهذه الإطار 3 هو أنه، لأنها متوافقة مع JAX-RS، في أي وقت في المستقبل يمكن أن تعود بسرعة إلى الإطار المتوافق مع JAX-RS الأخرى إذا أداء احتياجاتك أفضل أو تناسب احتياجاتك بشكل أفضل

  3. الربيع: بدأت الربيع 3 دعم راحة أبيس. ولكن لا تجعل الأمر كذلك، ليس متوافقا مع JAX-RS، لسبب ذلك من أجل الرينلت.

    لذلك سأختار فقط من Resteasy / Jersey / CXF.

نعم، جيرسي جيد إلى حد ما وبناء على وصفك سيفعل ما تريد بالضبط.

لن أنتظر الربيع - شيء - جيرسي جيد، وأنا لا أعرف الفوائد الموجودة هناك إلى البديل الربيعي، وراء "العلامة التجارية الربيعية". بالنسبة لي JAX-RS (أن تنفذ جيرسي) مثال جيد جدا على اختيار واستخدام أفضل المكونات التي تنفذ Apis المفتوحة؛ جيرسي يدير على (من بين أشياء أخرى) أي حاوية Servlet، يمكن أن تستخدم أفضل محلل XML / JSON / ETC، استخدم التحقق من صحة القابلة للتوصيل (API التحقق من صحة الفاصوليا) وما إلى ذلك. يجب أن يكون الشيء نفسه صحيحا لتطبيقات Jax-RS الأخرى أيضا (مثل Resteasy).

لقد استخدمت وارتكبت بعض التصحيحات إلى CXF. وهو يدعم JAX-RS وهو قابل للتكوين الكامل مع الربيع. هناك تعليمي جيد هنا:

http://cwiki.apache.org/cxf20doc/jax-rs.html.

CXF هو مشروع Apache وكما jax-rs هو معيار يجب أن يكون لديك أي مشاكل في الابتعاد عنها إذا كان لديك أي صعوبات.

أتمنى أن يساعدك هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top