मेरे पास एक आरईएसटी सेवा है जो मैं अपने क्लाइंट डेवलपमेंट टीम के लिए दस्तावेज करना चाहता हूं।स्प्रिंग हेटोआस (swagger के साथ) से दस्तावेज़ एचएएल "_links"?
तो मैं अपने संसाधनों एपीआई के Spring-Hateoas
से कुछ Links
जोड़ा, और यह swagger-springmvc
@Api...
एनोटेशन में प्लग सब कुछ दस्तावेज़ और एक अच्छा API संदर्भ बनाने के मेरे कोणीय टीम मेरी बाकी सेवा को समझने में सक्षम होने के लिए करने के लिए।
समस्या यह है कि swagger
यह पता लगाने में असमर्थ है कि कौन से लिंक संभव हैं, और बस मुझे अपने संभावित मूल्यों के बिना Links
का एक बड़ा सरणी दें।
यहां एक (सरल) उदाहरण है। अकड़ का पता लगाता है:
Model Schema
CollectionListResource {
collections (array[CollectionResource]): All available collections,
links (array[Link]): Relations for next actions
}
CollectionResource {
collectionId (string): Collection Unique Id,
name (string): Human readable collection name,
links (array[Link]): Relations for next actions
}
Link {
rel (string, optional),
templated (boolean, optional),
href (string, optional)
}
और मैं एचएएल में वास्तव में मिलती है:
{"collections":
[{"collectionId":"5370a206b399c65f05a7c59e",
"name":"default",
"_links":{ [
"self":{
"href":"http://localhost:9080/collections/5370a206b399c65f05a7c59e"
},
"delete":{
"href":"http://localhost:9080/collections/5370a206b399c65f05a7c59e"
}
]}
}, ...]}
मैं Link
का विस्तार करने की कोशिश की है और ResourceSupport
उनमें से संस्करण annoted की है, लेकिन यह मेरे लिए कहीं ले जाते हैं।
क्या कोई तरीका/उपकरण है जिसका उपयोग मैं एक अच्छा एपीआई दस्तावेज़ उत्पन्न करने के लिए कर सकता हूं जो बताता है कि self
संबंध सामग्री प्राप्त करना है, और delete
संबंध संग्रह को हटाना है?
मैं अपनी अच्छी यूआई के लिए अकड़ पसंद आया, लेकिन मैं अपने प्रलेखन उपकरण को बदलने अगर इसकी मदद वास्तव में पूरा दस्तावेज़ होने आपत्ति नहीं है।
मैं अंततः एक और लिंक जनरेटर के लिए वसंत-नफरत बदलने के बारे में सोच सकता हूं, लेकिन मुझे यकीन नहीं है कि अभी एक बेहतर टूल उपलब्ध है।
सभी संदर्भों के लिए धन्यवाद; मैं पहले से ही कुछ जानता था, लेकिन दूसरों की खोज की। आपके द्वारा प्रस्तावित नया एचएएल वास्तव में मेरे वर्तमान की तुलना में अधिक पूर्ण होगा, लेकिन मुझे अभी भी _links सरणी की सामग्री को खोजने के लिए एक रास्ता नहीं दिख रहा है। असल में, अभी मैं एचएएल स्प्रिंग के लिए काफी खुश हूं। मुझे आश्चर्य है कि समाधान जेनेरिक _लिंक्स सरणी को पूर्वनिर्धारित वैकल्पिक लिंक फ़ील्ड वाली संरचना में बदलने के लिए नहीं होगा। संवैधानिक रूप से बोलते हुए, वास्तव में, यह [] को हटाने के लिए "बस" है, लेकिन कार्यान्वयन पक्ष पर, यह निश्चित रूप से अधिक जटिल है;) –