2016-06-28 13 views
7

मैंने अपने एएसपी.NET कोर आरसी 1 एप्लिकेशन में निम्न NuGet संकुल के साथ एकीकृत swagger है।एएसपी.नेट कोर आरसी 1 - वेबएपीआई स्वैगर एकीकरण - "त्रुटि" SchemaValidationMessages

"Swashbuckle.SwaggerGen": "6.0.0-rc1-final", 
"Swashbuckle.SwaggerUi": "6.0.0-rc1-final" 

यहां स्वैगर एकीकरण के लिए कोड है। > "http://localhost:8080/testapiproject/swagger/ui/index.html" - जबकि यह स्थानीय स्तर पर पहुँचने के उपयोग करते हुए स्थानीय होस्ट

public void ConfigureServices(IServiceCollection services) 
    { 
     .... 
     ..... 

     //*** Configure Swagger Document Information. 
     services.ConfigureSwaggerDocument(options => 
     { 
      //*** Define incremental API version. 
      options.SingleApiVersion(new Info 
      { 
       Version = "v1", 
       Title = "TEST APIs", 
       Description = "Test API Methods", 
       TermsOfService = "", 
      }); 


      //*** Assign the API - Swagger helper document. 
      options.OperationFilter(new Swashbuckle.SwaggerGen.XmlComments.ApplyXmlActionComments(helperDocPath)); 

     }); 

     //*** Configure the Swagger schema settings. 
     services.ConfigureSwaggerSchema(options => 
     { 
      options.DescribeAllEnumsAsStrings = true; 
      options.ModelFilter(new Swashbuckle.SwaggerGen.XmlComments.ApplyXmlTypeComments(helperDocPath)); 
     }); 

     .... 
     .... 
    } 

    //**** Configure Method 

    private void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     ... 
     .... 

     //*** Add Swagger pluggins to application environment. 
     app.UseSwaggerGen(); 
     app.UseSwaggerUi(); 
    } 

कोड अकड़ प्रलेखन उत्पन्न करता है।

हालांकि, तैनाती सर्वर में कोड की तैनाती मैं अभी भी, यह कहते क्लिक करने के बाद अकड़ दस्तावेज़ मिल रहा है, लेकिन मैं नीचे में "त्रुटि" हो रही है,

{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://<applicationdomainname>:8080//testapiproject/swagger/v1/swagger.json"}]}. 
+0

'http: //: 8080 // testapiproject/swagger/v1/swagger.json' यह पथ गलत लगता है। 'होस्टनाम' गुम है। आप किसी गलत डोमेन से जेसन प्राप्त करने का प्रयास कर रहे हैं। – Venky

+0

लोकलहोस्ट के अलावा कुछ भी, नीचे दिखाए गए त्रुटि में एक स्कीमा सत्यापन त्रुटि है। – JAK

उत्तर

5

के बाद मुझे लगता है कि यह करने के लिए कोशिश कर रहा है गलत पथ से json डेटा तक पहुंचें। सुनिश्चित करें कि पथ swaggerui की testapiproject/swagger/ui/index.html"

$(function() { 
     var url = window.location.search.match(/url=([^&]+)/); 
     if (url && url.length > 1) { 
      url = decodeURIComponent(url[1]); 
     } else { 
      url = "/swagger/docs/v1";  // Make sure it's not hardcoded 
     } 
} 

नेट कोर

के लिए UPDATED मैं केवल "Swashbuckle": "6.0.0-beta902" पैकेज स्थापित में सही ढंग से किया गया है।

public void ConfigureServices(IServiceCollection services) 
{ 
      services.AddSwaggerGen(); 
      services.ConfigureSwaggerGen(options => 
      { 
       options.SingleApiVersion(new Info 
       { 
        Version = "v1", 
        Title = "test API", 
        Description = "test api for swagger", 
        TermsOfService = "None", 

       }); 
       options.IncludeXmlComments(/* whatever tha path */); 
       options.DescribeAllEnumsAsStrings(); 
      }); 

    } 

configurre mehod में सिर्फ

  app.UseSwagger(); 
      app.UseSwaggerUi(); // inside this method we can pass the root path of swagger 

यह vitural निर्देशिका में नहीं स्थानीय होस्ट के साथ काम कर रहा था लेकिन गयी। इसलिए मुझे नीचे कॉन्फ़िगरेशन web.config में जोड़ना पड़ा, फिर यह काम करना शुरू कर दिया।

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 
+1

मैं ऐसा नहीं कर सकता क्योंकि मैं एएसपी.नेट कोर आरसी 1 वेबपी परियोजना के लिए स्वैगर एकीकरण का उपयोग कर रहा हूं। आरसी 1 में, आप index.html नहीं ढूंढ सकते हैं। – JAK

+0

@JAK के समान समस्या। यह आभासी है –

1

स्वैगर कोड टिप्पणियों से एपीआई दस्तावेज़ बनाता है जो एक्सएमएल फाइलों में स्टोर करता है। उदाहरण के लिए, गेटवेसेवर.dll के लिए टिप्पणियां गेटवेसेवर.एक्सएमएल में स्टोर की जाएंगी। आपको इसे तैनाती सर्वर पर अपलोड करने की आवश्यकता है।

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