2015-09-01 16 views
7

क्लाइंट अनुप्रयोगों से एसिंक्रोनस बाकी एपीआई कॉल के लिए इनमें से कौन सा कार्यान्वयन अनुशंसित है और यह भी अधिक मजबूत है?स्प्रिंग रेस्ट टेम्पलेट बनाम जर्सी रेस्ट क्लाइंट बनाम रेस्टेसी क्लाइंट

  1. स्प्रिंट resttemplate
  2. जर्सी बाकी ग्राहक
  3. बाकी आसान ग्राहक

उत्तर

5

यहाँ आपको मूल्यांकन क्या प्रत्येक ग्राहक के अवरोही क्रम में से प्रस्ताव दिया है मदद करने के लिए दस्तावेजों और उदाहरण के लिए कुछ लिंक कर रहे हैं मेरी व्यक्तिगत सिफारिशों के लिए सबसे अच्छे से आम और कुछ अन्य तुलनाओं के लिंक जो मैंने पाया है। के बाद से यह Caching Features: Client "Browser" cache. Supports HTTP 1.1 caching semantics including cache revalidation प्रदर्शन पर भारी प्रभाव पड़ता है, जबकि अन्य ग्राहक कार्यान्वयन बॉक्स से बाहर कैशिंग प्रदान नहीं करते है और आप इसे पाने के लिए अतिरिक्त कोड लिखने की ज़रूरत

  1. RESTEasy is a JBoss project मेरा पहला चयन है। RESTEasy आपको रीस्टफुल वेब सर्विसेज और रीस्टफुल जावा एप्लिकेशन बनाने में मदद के लिए विभिन्न ढांचे प्रदान करता है। यह जेएक्स-आरएस 2.0 विनिर्देश का एक पूर्ण प्रमाणित और पोर्टेबल कार्यान्वयन है, एक जेसीपी विनिर्देश जो HTTP प्रोटोकॉल पर रीस्टफुल वेब सेवाओं के लिए जावा एपीआई प्रदान करता है।

RESTEasy सुविधाएँ सूची

  • बिलाव और कई अन्य एप्लिकेशन-सर्वर के लिए पोर्टेबल
  • JUnit परीक्षण के लिए Embeddedable सर्वर कार्यान्वयन
  • बढ़ी ग्राहक ढांचे
  • Caching Features: Client "Browser" cache. Supports HTTP 1.1 caching semantics including cache revalidation
  • सर्वर में स्मृति कैश। स्थानीय प्रतिक्रिया कैश। स्वचालित रूप से के लिए ETag पीढ़ी और कैश पुनर्वैधीकरण
  • प्रदाताओं में से रिच का संचालन: एक्सएमएल, JSON, YAML, Fastinfoset, मल्टीपार्ट, XOP, एटम, आदि
  • JAXB एक्सएमएल में प्राथमिकता निर्धारण, JSON, जैक्सन, Fastinfoset, और एटम के साथ-साथ मानचित्र, सरणी, सूचियां, और जेएक्सबी ऑब्जेक्ट्स के सेट के लिए रैपर के रूप में।
  • GZIP सामग्री एन्कोडिंग
  • Asynchronous HTTP (Comet) abstractions for JBoss Web, Tomcat 6, and Servlet 3.0
  • Asynchronous Job Service.
  • रिच इंटरसेप्टर मॉडल।
  • OAuth2 और JBoss AS7 साथ वितरित एसएसओ
  • डिजिटल हस्ताक्षर और S/MIME के ​​साथ एन्क्रिप्शन समर्थन और DOSETA
  • EJB, सीवन, Guice, स्प्रिंग, और स्प्रिंग MVC एकीकरण
  • कोई RESTEasy स्प्रिंग बूट स्टार्टर था बाहर वहां, इसलिए पेपैल टीम ने RESTEasy Spring Boot Starter बनाने और इसे समुदाय के साथ साझा करने का निर्णय लिया।

RESTEasy examples यह भी देखना Three Forms of RESTEasy Client

  1. Jersey RESTful Web Services framework है खुला स्रोत, उत्पादन गुणवत्ता, जावा में RESTful वेब सेवाओं के विकास के लिए रूपरेखा है कि JAX-आरएस एपीआई और सर्व के लिए सहायता प्रदान करता है एक जेएक्स-आरएस के रूप में (जेएसआर 311 & जेएसआर 33 9) संदर्भ कार्यान्वयन।

जर्सी ढांचा जेएक्स-आरएस संदर्भ कार्यान्वयन से अधिक है। जर्सी अपने स्वयं के एपीआई प्रदान करता है जो अतिरिक्त सुविधाओं और उपयोगिताओं के साथ जेएक्स-आरएस टूलकिट का विस्तार करता है ताकि रीस्टफुल सेवा और क्लाइंट डेवलपमेंट को और आसान बनाया जा सके। जर्सी भी कई विस्तार एसपीआई का खुलासा करता है ताकि डेवलपर्स जर्सी का विस्तार अपनी आवश्यकताओं के अनुरूप कर सकें। जर्सी परियोजना के

लक्ष्य निम्नलिखित बातों में संक्षेप किया जा सकता है:

  • JAX-आरएस एपीआई ट्रैक और उत्पादन गुणवत्ता संदर्भ कार्यान्वयन की कि ग्लासफिश साथ जहाजों नियमित विज्ञप्ति प्रदान करते हैं;
  • जर्सी & का विस्तार करने के लिए एपीआई प्रदान करें उपयोगकर्ताओं और डेवलपर्स का एक समुदाय बनाएं; और - जावा और जावा वर्चुअल मशीन का उपयोग कर रीस्टफुल वेब सेवाओं को बनाना आसान बनाएं।

कई जर्सी कनेक्टर्स अध्याय 5. क्लाइंट API 5.5 से चुनने के लिए कर रहे हैं। क्लाइंट ट्रांसपोर्ट कनेक्टर जबकि Grizzly सबसे उन्नत की तरह दिखता है खासकर जब से यह एनआईओ फ्रेमवर्क का उपयोग कर रहा है क्योंकि डेवलपर्स जावा ™ एनआईओ एपीआई का लाभ लेने में मदद करने के लिए java.net versus java.nio देखें, इसका उपयोग AsyncHttpClient progect के साथ किया गया था, जो आपको चाहिए।

डिफ़ॉल्ट रूप से, जर्सी में परिवहन परत HttpUrlConnection द्वारा प्रदान की जाती है। यह परिवहन जर्सी में HttpUrlConnectorProvider के माध्यम से लागू किया गया है जो जर्सी-विशिष्ट कनेक्टर एसपीआई लागू करता है। आप जर्सी क्लाइंट कार्यान्वयन में अपने स्वयं के कनेक्टर उदाहरण को कार्यान्वित और/या पंजीकृत कर सकते हैं, जो डिफ़ॉल्ट HttpUrlConnection- आधारित परिवहन परत को प्रतिस्थापित करेगा। जर्सी कई वैकल्पिक ग्राहक परिवहन कनेक्टर कार्यान्वयन प्रदान करता है जो उपयोग में हैं।

तालिका 5.1। जर्सी कनेक्टर्स की सूची परिवहन ढांचे जर्सी कनेक्टर कार्यान्वयन Maven निर्भरता

Jersey vs. RESTEasy: A JAX-RS Implementation Comparison

  1. स्प्रिंट RestTemplate या अतुल्यकालिक बाकी एपीआई के लिए कहता है AsyncRestTemplate देख Spring 4 AsyncRestTemplate + ListenableFuture Example डिफ़ॉल्ट स्प्रिंग बूट स्टार्टर RESTful API है। पेपैल टीम ने RESTEasy Spring Boot Starter बनाने और इसे समुदाय के साथ साझा करने का निर्णय लेने तक वहां कोई रीस्टेसी स्प्रिंग बूट स्टार्टर नहीं था।
संबंधित मुद्दे