سؤال

ما هي أفضل الأطر لتنفيذ أطر عمل REST لكل من العميل والخادم في Java؟لقد كنت أعاني قليلاً للعثور على حل سهل الاستخدام.

تحديث:يبدو أن كلاً من Jersey وRestlet خياران جيدان.من المحتمل أننا سنستخدم Restlet لكننا سنجرب كليهما.

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

المحلول

ريستليت يبدو أنه يجب أن يوفر ما تبحث عنه:

  • دعم العميل والخادم (في واجهة برمجة التطبيقات المتماثلة نسبيًا)
  • ربط عنوان url الذكي
  • فهم نوع التمثيل الصامت (بالنظر إلى أنواع التمثيل الصامت المقبولة، سيطلب من الموارد الخاصة بك تمثيلها في هذا النوع)
  • يدعم التعليقات التوضيحية JAX-RS (تمامًا مثل جيرسي)

نصائح أخرى

جيرسي من السهل حقًا لكليهما.لكتابة خدمات الويب، يمكنك استخدام التعليقات التوضيحية:

@Path("/helloworld")
public class HelloWorldResource {

    // The Java method will process HTTP GET requests
    @GET
    // The Java method will produce content identified by the MIME Media
    // type "text/plain"
    @Produces("text/plain")
    public String helloWorld() {
        // Return some cliched textual content
        return "Hello World";
    }
}

للعميل:

Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/helloworld");
String s = webResource.get(String.class);
System.out.println(s); // prints Hello World

نلقي نظرة على معالج إسقاط أيضاً.

يدعم Restlet أيضًا التعليقات التوضيحية في إصداره 2.0، سواء على جانب العميل أو على جانب الخادم.يتم دعم JAX-RS API أيضًا كملحق.

فيما يلي مثال بسيط من جانب الخادم:

public class HelloWorldResource extends ServerResource {

    @Get
    public String represent() {
        return "hello, world";
    }

}

من ناحية العميل:

// Outputting the content of a Web page  
new ClientResource("http://www.restlet.org").get().write(System.out);

لمزيد من التوثيق، تحقق من هذه الصفحة.

هناك JBoss الجديد راحة سهلة مكتبة.يبدو أنه قيد التطوير السريع منذ إطلاقه الأولي.ليس لدي أي فكرة عما إذا كان ذلك جيدًا؛إنه مدرج في قائمة "التحقق من ذلك".

يمكنك إلقاء نظرة على تطبيق CXF JAX-RS.للحصول على قائمة كاملة بميزاته، تحقق من موقع ويب CXF لـ JAX-RS.يبدو أن المجتمع الذي يقف وراء المشروع نشط للغاية (يوليو 2013).والدليل على ذلك هو عدد الرسائل يوميا في القوائم البريدية CXF.

لم أستخدمه شخصيًا ولكن بعض الفرق التي أعمل معها تستخدم Spring 3 MVC. الراحة في الربيع 3:@MVC يبدو وكأنه نظرة عامة جيدة على مشاركة المدونة.تتضمن ميزات RESTful "قوالب URI"، و"التفاوض على المحتوى"، و"تحويل أسلوب HTTP"، و"دعم Etag" والمزيد.

يحرر:وانظر هذا السؤال أيضاً: هل يمكن لأي شخص أن يوصي بإطار عمل ويب Java يعتمد على MVC ويدعم REST؟

يمكنني أن أوصي بـ Apache Wink، وهو إطار عمل جديد لا يزال في وضع الحضانة، ولكنه ناضج جدًا وذو جودة عالية.

http://incubator.Apache.org/wink/

إنه يطبق مواصفات JAX-RS، ولديه إطار عمل العميل والخادم لتطوير REST.تقف شركة Apache وراء هذا المشروع - وهذه دائمًا علامة جيدة (وترخيص جيد :-))

أكثر ما أحبه في إطار العمل هذا هو التكامل البديهي مع Spring، فهو مفيد جدًا إذا كنت تريد تكوين إطار العمل الخاص بك وتوسيعه بسهولة.

تحديث:لم تعد Xydra Restless تتم صيانتها +++ إذا كنت تستخدم Goolge AppEngine قبل إصدار ميزة "المثيل الاحتياطي"، فقد تفكر في ذلك زيدرا لا يهدأ الذي يحتوي على ميزات قليلة ولكن يتم تحميله بسرعة.

المفضل لدي هو الربيع MVC, ، لديك دعم لكل من جانب العميل والخادم ...ولديك دعم Android أيضًا =)

على سبيل المثال، يمكنك رؤية مثال على Spring Android هنا

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