2010-08-24 11 views
8

मैं जावा अनुरोध में उपयोग करके एक MySQL डीबी में एकाधिक प्रविष्टियों को सम्मिलित करने के लिए जावा में अपनी रीस्टफुल वेब सेवा में एक विधि विकसित करने की कोशिश कर रहा हूं। जनरेटेड रीस्टफुल वेब सेवा में एक इकाई को सम्मिलित करने का एक तरीका है, लेकिन एकाधिक नहीं। उदाहरण के लिए, यह स्वीकार करता है:जर्सी का उपयोग करके रीस्टफुल: एकाधिक इकाइयों को पोस्ट करने के लिए विधि

<creature> 
    <sort>Mouse</sort> 
    <name>Pinky</name> 
</creature> 

लेकिन नहीं (मुझे पसंद है क्या होगा):

<creature> 
    <sort>Mouse</sort> 
    <name>Pinky</name> 
</creature> 
<creature> 
    <sort>Elephant</sort> 
    <name>Dumbo</name> 
</creature> 

मेरा अनुमान है कि आप संस्थाओं के माध्यम से लूप करने के लिए है कि है, लेकिन यकीन है कि यह कैसे लागू करने के लिए नहीं, एक शर्मनाक नौसिखिया होने के नाते।

उत्तर

5

बस इस में भाग गया। मुझे कई वस्तुओं के लेनदेन संबंधी पदों की आवश्यकता है, इसलिए ग्राहक पर पुनरावृत्ति प्रश्न से बाहर है। मैं कैसे जर्सी के साथ ऐसा करने के बारे में ज्यादा नहीं पा सके

http://chasenlehara.com/blog/creating-restful-web-services/ (मल्टी संसाधन)

RESTful way to create multiple items in one request

: आम सहमति है कि आप अपने सामान्य संसाधनों से एक अलग पथ का उपयोग करने की आवश्यकता है लगता है , हालांकि। जैसा कि यह पता चला है, यह बहुत आसान है। आप पहले से ही प्राप्त अनुरोधों के लिए बहु इकाई कनवर्टर और संसाधन कक्षाएं होनी चाहिए, तो आप सिर्फ जहां सर्वर यह उन्हें प्राप्त करने के लिए जा रहा है मान सकते हैं एक रास्ता निर्दिष्ट करने की आवश्यकता: फिर

@Path("creatures") 
@Stateless 
public class CreaturesResource { 

... 

    @POST 
    @Consumes({"application/xml", "application/json"}) 
    public Response post(CreatureConverter data) { 
     Creature entity = data.resolveEntity(em); 
     postCreature(entity); 
    } 

    @POST @Path("multi") 
    @Consumes({"application/xml", "application/json"}) 
    public Response postMulti(CreaturesConverter data) { 
     Collection<Creature> entities = data.getEntities(); 
     for (Creature c : entities) { 
      postCreature(c); 
     } 
    } 

बजाय

<creature /> 
पोस्टिंग

को
http://.../resources/creatures 

आप पोस्ट होगा

<creatures> 
    <creature /> 
    <creature /> 
</creatures> 

से

http://.../resources/creatures/multi 
संबंधित मुद्दे

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