मैं स्प्रिंग डेटा जेपीए और स्प्रिंग डेटा आरईएसटी का उपयोग कर एक घटक आधारित सीआरयूडी अनुप्रयोग विकसित कर रहा हूं। मेरे पास कई घटक हैं। उदाहरण के लिए सिस्टम घटक में User
मॉडल और UserRepository
है। घटक पैकेज नामों से भिन्न होते हैं। com.example.app.<component_name>
रेपॉजिटरी संसाधन के लिए बहु-सेगमेंट पथ का उपयोग करने के लिए स्प्रिंग डेटा आरईएसटी को कैसे अनुकूलित करें?
तो मेरा आरईएसटी एपीआई क्लीन क्लीनर बनाने के लिए, मुझे नीचे दिए गए एपीआई यूआरएल को लागू करने की आवश्यकता है।
host:8080/<component_name>/<model_collection_name>
host:8080/system/users
मैं अपने भंडार
@RepositoryRestResource(collectionResourceRel = "users", path = "system/users")
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
...
}
इस निम्नलिखित को बनाने वाला निम्नलिखित था, जब मैं गोटो http://localhost:8080
{
"_links": {
"users": {
"href": "http://localhost:8080/system/users{?page,size,sort}",
"templated": true
},
...
लेकिन जब मैं गोटो http://localhost:8080/system/users
यह एक त्रुटि
शुक्र मई 22 17:56:37 IST 2015 हुई थी कोई अनपेक्षित त्रुटि (type = नहीं मिला, स्थिति = 404) देता है। कोई संदेश उपलब्ध
नोट: यदि मैं system-users
के लिए पथ मैप किया गया तो यह ठीक काम करता है, लेकिन जब मैं इस तरह के system/users
के रूप में रास्ते में एक /
उपयोग करें, यह टूट जाता है और त्रुटि देता है।
आपका तर्क मान्य लगता है, लेकिन फिर भी यह मेरी समस्या का समाधान नहीं करता है। मैं आवेदन की तरह एक विशाल बहु घटक ईआरपी विकसित करने पर तकनीकी व्यवहार्यता अध्ययन कर रहा हूं। किसी भी तरह से इस प्रश्न का उत्तर देने के लिए आपके द्वारा दिए गए समय और प्रयास के लिए धन्यवाद। यदि संभव हो तो कृपया भविष्य में रिलीज में इसे ठीक करने पर विचार करें, क्योंकि यह मेरे जैसे अन्य लोगों की मदद कर सकता है। मैंने जिरा में एक मुद्दा बनाया https://jira.spring.io/browse/DATAREST-555 –
उस स्थिति में स्प्रिंग डेटा रेस्ट एपीआई संस्करण के लिए उपयुक्त नहीं है? – IllSc
@IllSc आप अपने application.properties में spring.data.rest.base-path संपत्ति के माध्यम से बेस पथ को संशोधित करके अपने एपीआई को संस्करण बना सकते हैं। –