2014-05-07 3 views
9

मैं अपने रीस्टफुल एपीआई को स्वचालित रूप से दस्तावेज करने के लिए लार्वेल के साथ swagger का उपयोग करने का प्रयास कर रहा हूं। लक्ष्य लारवेल नियंत्रकों में swagger टिप्पणियों को रखने के लिए है और फिर swagger टिप्पणियों पार्स है और संबंधित .json/.php फ़ाइलों को उत्पन्न करते हैं। आदर्श रूप में, मैं लारवेल परियोजना द्वारा swagger फ़ाइलों को सेवा करने के लिए देख रहा हूँ ताकि सबकुछ एक ही हुड और सिंक में रखा जा सके।लार्वेल से कैसे घुसपैठ करनी चाहिए?

आदेश यह पूरा करने के लिए, मैं अपने laravel परियोजना (एक ही निर्देशिका कि सार्वजनिक में रहता है) के रूट निर्देशिका में एक डॉक्स निर्देशिका बनाया है। मैं तो routes.php के लिए निम्न मार्ग जोड़ दिया है:

Route::get('docs/{page?}', function($page='index.php') { 
    header('Access-Control-Allow-Origin: *'); 
    $parts = pathinfo($page); 
    $path = $_SERVER["DOCUMENT_ROOT"] . "/../docs/$page"; 
    if ($parts['extension'] === 'php') { 
     require($path); 
    } else { 
     return file_get_contents($path); 
    } 
}); 

इस विधि मैं तो करने के लिए http मेरी अकड़-ui वेबसाइट बात करने के लिए कर रहा हूँ का उपयोग करते हुए: // mydomain/डॉक्स और बाकी जादू है।

आप सभी के लिए लार्वेल गुरुओं के लिए, क्या यह इन swagger फ़ाइलों की सेवा करने का सबसे अच्छा तरीका है? मैंने दस्तावेज़ निर्देशिका सार्वजनिक में डालने का प्रयास किया लेकिन इससे रीडायरेक्ट लूप की ओर जाता है।

इसे पूरा करने का एक और तरीका है मेरी वेब सर्वर कॉन्फ़िगरेशन में वर्चुअल होस्ट बनाना जो सीधे इन swagger फ़ाइलों को इंगित करता है, लेकिन इस बिंदु पर मैं यह अतिरिक्त कॉन्फ़िगरेशन नहीं करना चाहता हूं।

उत्तर

0

मैं इस पर काम कर रहा हूं, मैंने रीडायरेक्ट लूप को हल किया है लेकिन जैसा कि मैं चाहूंगा उतना सुंदर नहीं हूं।

बस निम्नलिखित के साथ अपने public/docs/ dir में एक .htaccess फ़ाइल जोड़ें:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
</IfModule> 

आप index.php बाहर लिखे बिना फ़ाइल का उपयोग कर सकेंगे। यदि मैं प्रलेखन उत्पन्न करने के एक और अधिक सुरुचिपूर्ण तरीके से आया हूं तो मैं अपडेट करूंगा।

8

मैंने लैरावेल के लिए एक पैकेज swaggervel लिखा, जो swagger-php का उपयोग करके अपने swagger जेसन को स्वत: उत्पन्न करता है, इसे redgeoff के कोड के साथ सेवा करता है, और फिर इसे swagger-ui का उपयोग करके प्रदर्शित करता है। "देव-गुरु"

वैकल्पिक रूप से आप यह Git पर प्राप्त कर सकते हैं: https://github.com/slampenny/Swaggervel.git

+3

"jlapp/swaggervel":

बस अपने composer.json में आवश्यकता के लिए अनुवर्ती पंक्ति जोड़ें समस्या मैं देख रहा हूं .... और फिर क्या .... swagger दस्तावेज सीमित है और मुझे इस पैकेज को स्थापित करने के बाद 5.2 में क्या करना है इस पर कोई ट्यूटोरियल नहीं मिल रहा है –

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