5

विशेषता रूटिंग का उपयोग करते समय स्वैगर यूआई/स्वाशबकल में एकाधिक एपीआईवीरियंस का लाभ उठाना संभव है?विशेषता संस्करण के साथ स्वैगर में एकाधिक एपीआईवीर्सन

विशेष रूप से, मैं द्वारा संस्करण लागू किया:

using System.Web.Http; 

namespace RESTServices.Controllers.v1 
{ 
    [Route("api/v1/Test")] 
    public class TestV1Controller : ApiController 
    { ... } 

संस्करण 2 एक v2 नाम स्थान में होगा। TestV2Controller नामक नियंत्रक में। मार्ग में v2 होगा।

क्या इसमें लैम्ब्डा पास करना संभव है? मुझे एक नमूना लैम्ब्डा ऑनलाइन मिला जो संकलित हुआ, लेकिन फिर स्वैगर ने पूरी तरह से काम करना बंद कर दिया। ब्रेकपॉइंट्स को हिट नहीं कर सका या ब्राउजर में स्वैगर देखें।

उत्तर

14
.EnableSwagger(c => c.MultipleApiVersions(
     (apiDesc, version) => 
     { 
      var path = apiDesc.RelativePath.Split('/'); 
      var pathVersion = path[1]; 

      return CultureInfo.InvariantCulture.CompareInfo.IndexOf(pathVersion, version, CompareOptions.IgnoreCase) >= 0; 
     }, 
     vc => 
     { 
      vc.Version("v2", "Swashbuckle Dummy API V2"); //add this line when v2 is released 

      // ReSharper disable once ConvertToLambdaExpression 
      vc.Version("v1", "Swashbuckle Dummy API V1"); 
     } 
     )) 
+1

मुझे लगता है कि उपरोक्त "स्वाशबकल डमी एपीआई वी 2" का दूसरा मौका "वी 1" नहीं "वी 2" के साथ समाप्त होना चाहिए? –

+0

अच्छा पकड़ो! मैंने अपना उत्तर – Hoppe

+0

अपडेट किया है, मुझे इस आवश्यकता के लिए उचित संदर्भ दस्तावेज़ नहीं मिला। आपका जवाब एक आकर्षण की तरह काम करता है। धन्यवाद! – Martin

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