2015-01-21 10 views
5

मेरे रीस्टफुल एपीआई में, सभी संसाधन स्प्रिंग के ResourceSupport आधार को विस्तारित कर रहे हैं ताकि डिजाइन द्वारा घृणित प्रधानाचार्य सुनिश्चित हो सके। उदाहरण के लिए:स्वैगर और रीस्टफुल वसंत नफरत संसाधन

public class PoolResource extends ResourceSupport { 
    private String name; 
    ... 
} 

मैं भी स्वैगर उपयोग कर रहा हूँ, और मैं सोच रहा था: यह अकड़-ui किसी भी तरह कॉन्फ़िगर करने के लिए, गुण ResourceSupport से आ रही अनदेखी करने के लिए संभव है?

enter image description here

(स्वैगर-ui एपीआई का एक अच्छा और आसान दृश्यपटल प्रदान करता है। स्वैगर का उपयोग करने का प्रमुख लाभ में से एक, एपीआई को समझते हैं और उन लोगों के लिए एपीआई के साथ चारों ओर खेलने के लिए है, जो कर रहे हैं आसान है के रूप में आरईएसटी एपीआई से भी परिचित नहीं है ... जब तक "लिंक" और "रिल्स" चित्र में आते हैं।)

+9

यदि आप हाइपरमीडिया नहीं चाहते हैं, तो आप पहली जगह स्प्रिंग हैटोज़ का उपयोग क्यों कर रहे हैं? यदि आप हाइपरमीडिया चाहते हैं, तो आप स्वैगर का उपयोग क्यों कर रहे हैं (जो सक्रिय रूप से हाइपर्मिया को घटा देता है)? –

+1

मुझे हाइपर्मियाडिया चाहिए। रीस्टफुल प्रिंसिपल का शोध करने के बाद, मुझे हाइपर्मियाडिया होने के लाभों को समझ गया, इसलिए मैं वास्तव में एक [स्तर 3] (http://martinfowler.com/articles/richardsonMaturityModel.html) एपीआई डिज़ाइन करना चाहता था। स्प्रिंग हैटोज़ का उपयोग करने का यही कारण है। लेकिन एपीआई के अधिकांश उपयोगकर्ता अभी भी हाइपर्मियाडिया से अवगत नहीं हैं, और यह समझ में नहीं आता कि यह बिल्कुल अच्छा क्यों है। उनके लिए, swagger पूर्ण एपीआई का एक बहुत अच्छा दृश्य प्रदान करता है। किसी को भी पेश करना बहुत अच्छा है, और मेरी दादी से भी एक वरिष्ठ डेवलपर को समझना आसान है। क्या मतलब है स्वैगर "hypermedia subverts"? – istibekesi

+2

अधिकतर उत्तर मुझे सुझाव देते हैं कि मैं swagger का उपयोग न करें, [REST की महिमा] (http://martinfowler.com/articles/richardsonMaturityModel.html) मेरे अधिकांश प्रश्नों को हल करेगा। ठीक है, तो चलो कल्पना करो, मैं swagger फेंक दिया। यह मुझे इस तरह के प्रश्नों की ओर ले जाता है: - मेरे पास संसाधन 'पूल' है। क्या होगा यदि मेरे पास कोई नया इंस्टॉल सिस्टम है, बिना किसी मौजूदा पूल इंस्टेंस के, इसलिए मुझे पूल नहीं मिल सकता है। पूल से (POST) कैसे बनाएं? पूल कैसा दिखता है? - वैकल्पिक क्षेत्रों के बारे में क्या? सत्यापन? आवश्यक ... आदि? - "ऑफलाइन" दस्तावेज के बारे में क्या? – istibekesi

उत्तर

0

इसे छिपाने का एकमात्र उचित तरीका इसे मॉडल से छिपाना होगा (वहां हैं ऐसा करने के कई तरीके, हालांकि यदि आप स्प्रिंग एमवीसी का उपयोग करते हैं, तो मुझे यकीन नहीं है कि swagger-springmvc क्या समर्थन करता है)।

आप इसे छिपाने के लिए सैद्धांतिक रूप से swagger.js को हैक कर सकते हैं, लेकिन यह एक संपूर्ण साहसिक कार्य है।

6

मैं सुझाव देता हूं कि swagger को फेंक दें और Postman जैसे आराम से उपयोग करें। पोस्टमैन स्प्रिंग-नफरो द्वारा क्लिक किए गए लिंक को क्लिक करने योग्य बनाता है, ताकि आप एपीआई के माध्यम से बहुत तेज़ी से नेविगेट कर सकें। यदि आप कुछ अतिरिक्त जानकारी/दस्तावेज़ीकरण प्रदान करना चाहते हैं, तो आप उन अनुरोधों को पोस्टमैन में अनुरोध संग्रह में सहेज सकते हैं और वितरण के लिए निर्यात कर सकते हैं। मैंने आराम से एपीआईएस के लिए कई दस्तावेज औजारों की कोशिश की है, जिसमें रैमल, स्वैगर, एपियरी और अंततः पोस्टमैन-संग्रह नफरत के साथ संयोजन में शामिल हैं, मैंने पाया है कि बाद वाला व्यक्ति मैं सबसे संतुष्ट हूं।

0
स्प्रिंग डाटा बाकी 2.4.0.RELEASE साथ

, अब आप मेटाडाटा के कई रूपों है:

  • ALPS
  • JSON Schema
  • वसंत-डेटा-आराम-hal-ब्राउज़र के माध्यम से एचएएल ब्राउज़र स्थापित करें मॉड्यूल और सर्फ हाइपरमीडिया
0

स्प्रिंग रेस्टडॉक्स को हाइर्मियाडिया के साथ दिमाग में बनाया गया था। यह "जेनरेट किए गए दस्तावेज़" क्षेत्र में स्वैगर के समान लाभ प्रदान करने के लिए काम करता है लेकिन ऐसा यूआरएल आधारित नहीं है।

http://docs.spring.io/spring-restdocs/docs/current/reference/html5/#getting-started-build-configuration

उत्पादन कुछ करने का प्रयास अधिक githubs डॉक्स (Hyermedia'd) से तालमेल।

https://developer.github.com/v3/#current-version

0

किसी भी एक एचएएल ब्राउज़र

देखा http://api.opensupporter.org/hb2/browser.html#/api/v1

यह संसाधनों के बीच संबंधों के वेब कल्पना है, तो एक संसाधन के लिए जरूरी नहीं पड़ता अनुरोध उदाहरणों से पता चलता मदद करता है, लेकिन दस्तावेज़ प्रदर्शित करने के लिए क्षेत्रों है ।

मेरे विचार यह है कि हेटोस कार्यान्वयन स्वयं दस्तावेज प्राप्त करने के लिए यह एक आसान तरीका होगा। और शायद उन हाइपरमीडिया लिंक में से एक एक swagger वेबसाइट हो सकता है या स्वीकार्य मान ऊपर वर्णित दस्तावेज़ों में हो सकता है।

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