2009-09-30 7 views
28

जावा में क्लाइंट और सर्वर रीस्ट फ्रेमवर्क दोनों को लागू करने के लिए सबसे अच्छे ढांचे क्या हैं? मैं उपयोग में आसान समाधान खोजने के लिए थोड़ा संघर्ष कर रहा हूं।जावा रीस्ट वेब सेवाओं को लागू करने के लिए सबसे आसान ढांचे

अद्यतन: जर्सी और रेस्टलेट दोनों अच्छे विकल्प की तरह लगते हैं। हम शायद रेस्टलेट का उपयोग करेंगे लेकिन हम दोनों के साथ प्रयोग करेंगे।

+0

http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions-about-java-rest-what-should-we-do – ripper234

उत्तर

18

Restlet लगता है जैसे कि यह प्रदान करना चाहिए कि आप क्या देख रहे हैं:

  • क्लाइंट और सर्वर (एक अपेक्षाकृत सममित एपीआई में)
  • स्मार्ट यूआरएल बाध्यकारी
  • माइम प्रकार को समझने के लिए सहायता (स्वीकार कर लिया दिया माइम प्रकार, यह आपके संसाधनों को उनके प्रकार के प्रतिनिधित्व के लिए पूछेगा)
  • जेएक्स-आरएस एनोटेशन (जर्सी की तरह) का समर्थन करता है
+3

+1 मेरे पास उत्कृष्ट परिणाम हैं एक बड़े उत्पादन आवेदन में पुनरारंभ करें। जर्सी, जेएक्स-आरएस (जेएसआर 311) संदर्भ कार्यान्वयन के लिए –

23

Jersey दोनों के लिए वास्तव में आसान है। एक ग्राहक के लिए

@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 
+1

+1। इसके अलावा http://java.sun.com/javaone/2009/articles/gen_restful.jsp –

3

Restlet भी एनोटेशन इसके 2.0 संस्करण में, दोनों क्लाइंट और सर्वर साइड पर समर्थन करते हैं। जेएक्स-आरएस एपीआई को एक एक्सटेंशन के रूप में भी समर्थित किया जाता है।

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); 

आगे दस्तावेज़ीकरण के लिए, check this page

यहाँ सर्वर साइड के लिए एक सरल उदाहरण है।

+0

रीस्टलेट को देखने का वादा किया गया है, लेकिन दस्तावेज़ीकरण निराशाजनक है। – deamon

+0

"रीस्टलेट इन एक्शन" पुस्तक सितंबर 2012 में मैनिंग द्वारा प्रकाशित की जाएगी। इसमें व्यापक कवरेज है। इसके बाद, हम ट्यूटोरियल और जावाडॉक्स (संस्करण 2.2 और 3.0) –

2

जेबॉस की नई RESTEasy लाइब्रेरी है। ऐसा लगता है कि यह प्रारंभिक लॉन्च के बाद से तेजी से विकास में है। मुझे नहीं पता कि यह कोई अच्छा है; यह मेरी 'इसे जांचें' सूची पर है।

0

मैंने इसे व्यक्तिगत रूप से उपयोग नहीं किया है, लेकिन कुछ टीम जो मैं काम करता हूं वे स्प्रिंग 3 एमवीसी का उपयोग कर रहे हैं। REST in Spring 3: @MVC एक अच्छा ब्लॉग पोस्ट अवलोकन की तरह दिखता है। रीस्टफुल फीचर्स में "यूआरआई टेम्पलेट्स", "कंटेंट वार्तालाप", "HTTP विधि रूपांतरण", "ईटाग समर्थन" और बहुत कुछ शामिल है।

संपादित: इसके अलावा, इस सवाल देखें: Can anyone recommend a Java web framework that is based on MVC and supports REST ?

0

मैं अपाचे पलक, ऊष्मायन मोड में एक नई रूपरेखा अभी भी है, लेकिन बहुत परिपक्व और उच्च गुणवत्ता की सिफारिश कर सकते हैं।

http://incubator.apache.org/wink/

यह JAX-आरएस विनिर्देश लागू करता है, यह बाकी के विकास के लिए दोनों ग्राहक & सर्वर ढांचा है। अपाचे इस परियोजना के पीछे खड़ा है - यह हमेशा एक अच्छा संकेत है (और एक अच्छा लाइसेंस :-))

मुझे इस ढांचे के बारे में सबसे ज्यादा पसंद है वसंत के साथ सहज ज्ञान युक्त एकीकरण है, यदि आप अपना ढांचा बनाना चाहते हैं तो यह बहुत उपयोगी है आसानी से कॉन्फ़िगर और विस्तारित।

+0

बीटीडब्लू में सुधार करेंगे, अन्य लाइसेंसिंग विकल्पों (ईपीएल, एलजीपीएल 2.1 और 3.0, सीडीडीएल) के अलावा, रीसेट को अपाचे पब्लिक लाइसेंस के तहत भी वितरित किया जाता है :) –

0

अद्यतन: Xydra Restless को बनाए रखा नहीं जाता है +++ यदि आप "रिजर्व इंस्टेंस" सुविधा जारी करने से पहले गोल्ज ऐपइंजिन का उपयोग कर रहे हैं, तो आप Xydra Restless पर विचार कर सकते हैं जिसमें कुछ सुविधाएं हैं लेकिन तेज़ लोड होती हैं।

1

आप सीएक्सएफ जेएक्स-आरएस कार्यान्वयन पर एक नज़र डाल सकते हैं। इसकी विशेषताओं की पूरी सूची के लिए CXF web site for JAX-RS देखें। परियोजना के पीछे समुदाय बहुत सक्रिय प्रतीत होता है (जुलाई 2013)। इसका एक संकेत CXF mailing lists में प्रतिदिन संदेशों की संख्या है।

-1
मेरा पसंदीदा

, आप दोनों के लिए समर्थन है, ग्राहक और सर्वर साइड ... और आप एंड्रॉयड समर्थन भी है =)

उदाहरण के लिए, आप वसंत का एक उदाहरण देख सकते हैं एंड्रॉयड here

+0

एंड्रॉइड लिंक है जेवियर के अपने ब्लॉग के लिए, जो अब ऑनलाइन नहीं लगता है। –

संबंधित मुद्दे

 संबंधित मुद्दे