के साथ ओवरलोड पथ फ़ंक्शंस मैं एक ही जीईटी पथ के लिए कई फ़ंक्शन करना चाहता हूं।विभिन्न @QueryParams
साथ ही मैं अपनी वेब सेवा को इन कार्यों को "ढूंढने" के लिए चाहूंगा यदि केवल और क्वेरी पैरामीटर URL स्ट्रिंग में पैरामीटर से मेल खाते हैं।
उदाहरण के लिए:
मैं Path("/myGET")
और उस पथ के लिए मैं 2 कार्य करना चाहते हैं:
@GET @Produces(MediaType.APPLICATION_JSON) @TypeHint(TagSets.class) public Response getTagSets(@QueryParam("entityId") Integer entityId) { ... }
और
@GET @Produces(MediaType.APPLICATION_JSON) @TypeHint(TagSets.class) public Response getTagSets(){ ... }
अभी मैं हूँ त्रुटि प्राप्त हो रही है:
SEVERE: The following errors and warnings have been detected with resource and/or provider classes: SEVERE: Producing media type conflict. The resource methods public javax.ws.rs.core.Response<...>.getTagSets(java.lang.Integer) and public javax.ws.rs.core.Response<...>.getTagSets(java.lang.Integer,java.lang.Integer) can produce the same media type SEVERE: Producing media type conflict. The resource methods public javax.ws.rs.core.Response<...>.getTagSets() and public javax.ws.rs.core.Response <...>.getTagSets(java.lang.Integer,java.lang.Integer) can produce the same media type
तो सबसे पहले: वहाँ किसी भी तरह से प्राप्त करने के लिए क्या मैं यहाँ क्या करना चाहते है ..
दूसरा: यदि यह उपलब्ध है, वहाँ किसी भी तरह से है कि एक रास्ता अगर और सिर्फ़ अगर पाया हो जाएगा क्वेरी पैरामीटर फ़ंक्शन में अनुरोध किए गए बिल्कुल मेल खाते हैं? उदाहरण के लिए यदि @QueryParam("differentParam")
के साथ एक ही पथ को कॉल किया जाएगा तो यह 2 कार्यों में से किसी तक नहीं पहुंच पाएगा।
तीसरा: यदि जर्सी के साथ ऐसा करने का कोई तरीका नहीं है तो क्या कोई अन्य फ्रेम काम करने का कोई तरीका है?
महत्वपूर्ण: जो लोग इस सवाल का जवाब देते हैं, वे सोचते हैं कि मैं एक समाधान की तलाश में हूं और समाधान नहीं। आज मैं 1 फ़ंक्शन का उपयोग कर रहा हूं और पैरामीटर की जांच कर रहा हूं और मुझे इसकी आवश्यकता है जो मुझे चाहिए (यही वह है जिसे मैंने प्रश्न पोस्ट करने से पहले उपयोग किया था)। लेकिन मैं जो खोज रहा हूं वह शायद मुझे परेशानी बचाने के लिए ढांचे की शक्ति का उपयोग कर रहा है
धन्यवाद।
मैं आपको लगता है, एक भी विधि में ऐसा और प्रोग्राम के क्वेरी पैरामीटर की उपस्थिति पर आधारित कॉल करने के लिए किस अन्य प्रणाली का फैसला करने के लिए होगा । मुझे नहीं लगता कि यह पूरी तरह से क्वेरी पैरा पर आधारित निर्णय लिया जा सकता है। –
सभी उत्तरों मेरे वर्तमान कार्यान्वयन का जिक्र कर रहे हैं। तो मैं आपसे सब कुछ समझता हूं कि जो कुछ मैं जर्सी के साथ ढूंढ रहा हूं उसे करने का कोई तरीका नहीं है ... क्या आपको पता है कि वसंत के साथ ऐसा करने का कोई तरीका है? – Gleeb
आपने अलग-अलग क्वेरी पैरामीटर वाले एक विधि की मांग की, और मेरा जवाब जर्सी का उपयोग कर रहा है। आप वास्तव में क्या ढूंढ रहे हैं? अपने प्रश्न स्पष्ट करें। – anvarik