2015-10-01 18 views
7

मैं स्वैगर का उपयोग करने के लिए काफी नया हूं। चूंकि मेरी परियोजना लैरावेल के साथ है, इसलिए मैं अपने एपीआई दस्तावेज करने के लिए स्वैगेरेवल का उपयोग करता हूं। के दौरान मैं इस प्रकार उत्पन्न करने के लिए,आवश्यक @SWG Info() नहीं मिला

./vendor/bin/swagger app/ -o storage/docs/api-docs.json 

यह दर्शाता है कि

[INFO] Required @SWG\Info() not found 

    get /api/resource.json 
----------------------- 
1 operations documented 
----------------------- 
Written to /home/admin/api/gevme-api/storage/docs/api-docs.json 

मैं तक पहुंचने का प्रयास करते हैं, तो यह localhost:8000/docs, यह ठीक से json एपीआई जो मैं उत्पन्न दिखाने की कोशिश की। लेकिन जब मैंने localhost:8000/api-docs तक पहुंचने का प्रयास किया, तो वही त्रुटि संदेश फिर से दिखाया गया।

ErrorException in Logger.php line 38: 
Required @SWG\Info() not found 
in Logger.php line 38 
at HandleExceptions->handleError('1024', 'Required @SWG\Info() not found', '/home/admin/api/gevme-api/vendor/zircote/swagger-php/src/Logger.php', '38', array('entry' => 'Required @SWG\Info() not found', 'type' => '1024')) 
at trigger_error('Required @SWG\Info() not found', '1024') in Logger.php line 38 
at Logger->Swagger\{closure}('Required @SWG\Info() not found', '1024') 
at call_user_func(object(Closure), 'Required @SWG\Info() not found', '1024') in Logger.php line 68 
at Logger::notice('Required @SWG\Info() not found') in AbstractAnnotation.php line 365 
at AbstractAnnotation->validate() in Analysis.php line 284 
at Analysis->validate() in functions.php line 46 
at Swagger\scan('/home/admin/api/gevme-api/modules/Api', array('exclude' => array('/home/admin/api/gevme-api/storage', '/home/admin/api/gevme-api/tests', '/home/admin/api/gevme-api/resources/views', '/home/admin/api/gevme-api/config', '/home/admin/api/gevme-api/vendor'))) in routes.php line 39 
at SwaggervelServiceProvider->{closure}() 
at call_user_func_array(object(Closure), array()) in Route.php line 155 
at Route->runCallable(object(Request)) in Route.php line 130 
at Route->run(object(Request)) in Router.php line 704 
at Router->Illuminate\Routing\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
at Pipeline->then(object(Closure)) in Router.php line 706 
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 671 
at Router->dispatchToRoute(object(Request)) in Router.php line 631 
at Router->dispatch(object(Request)) in Kernel.php line 236 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in OAuthExceptionHandlerMiddleware.php line 36 
at OAuthExceptionHandlerMiddleware->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(OAuthExceptionHandlerMiddleware), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 
at ShareErrorsFromSession->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 62 
at StartSession->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 59 
at EncryptCookies->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
at Pipeline->then(object(Closure)) in Kernel.php line 122 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87 
at Kernel->handle(object(Request)) in index.php line 54 
at require_once('/home/admin/api/gevme-api/public/index.php') in server.php line 21 

उत्तर

15

समस्या यह है - आप @SWG\Info ब्लॉक खो रहे हैं। यह एक ब्लॉक है जो आपके एपीआई के बारे में कुछ सबसे आम जानकारी swagger बताता है।

मैं आमतौर पर इसे एक अलग नियंत्रक में डालता हूं जो स्वैगर जेएसओएन प्रस्तुत कर रहा है।

/** 
* @SWG\Swagger(
*  schemes={"http","https"}, 
*  host="api.host.com", 
*  basePath="/", 
*  @SWG\Info(
*   version="1.0.0", 
*   title="This is my website cool API", 
*   description="Api description...", 
*   termsOfService="", 
*   @SWG\Contact(
*    email="[email protected]" 
*  ), 
*   @SWG\License(
*    name="Private License", 
*    url="URL to the license" 
*  ) 
* ), 
*  @SWG\ExternalDocumentation(
*   description="Find out more about my website", 
*   url="http..." 
* ) 
*) 
*/ 

class SwaggerController extends... 
+4

मुझे एक ही त्रुटि मिली है लेकिन लुमेन फ्रेमवर्क के साथ DarkaOnLine/SwaggerLume का उपयोग कर। मुझे यह फ़ाइल संपादित करने के लिए कहां मिल सकती है? –

+0

जहां भी आप अपना स्वैगर दस्तावेज डालते हैं। आपको आमतौर पर इसे मैन्युअल रूप से बनाने की आवश्यकता होती है। मुझे लुमेन के बारे में पता नहीं है। – Mathew

+0

@ अहमदज़ेलानी क्या आपने पाया कि आपने इसे कैसे ठीक किया? – user269867

0

आपके साथ ऐसा होता है, और आप नियंत्रक आदि में स्वैगर परिभाषा है, लेकिन अभी भी टिप्पणी नहीं देख रहे हैं सुनिश्चित करें कि आप अपने opcache में निम्न सेटिंग्स की जरूरत नहीं है बनाने: यहाँ एक उदाहरण है कॉन्फ़िगरेशन:

opcache.save_comments=1 
opcache.load_comments=1 

उपरोक्त सेटिंग्स दस्तावेज़ों को बनाने के लिए swagger के लिए आवश्यक docblox को हटा दें और लोड न करें।

+0

क्या? क्या आपको यकीन है? –

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