public SwaggerController() { _apiDescriptions = GlobalConfiguration.Configuration.Services.GetApiExplorer().ApiDescriptions .Where(s => !s.ActionDescriptor.ControllerDescriptor.ShouldSwaggerIgnore()); _docProvider = (XmlCommentDocumentationProvider)GlobalConfiguration.Configuration.Services.GetDocumentationProvider(); }
public void ProcessTypeName_GenericList_SpecList() { var typeName = "System.Collections.Generic.List`1[[Terra.Adv.AdApi.Domain.LineItems.LineItem, Terra.Adv.AdApi.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"; var actual = XmlCommentDocumentationProvider.ProcessTypeName(typeName); Assert.AreEqual("System.Collections.Generic.List{Terra.Adv.AdApi.Domain.LineItems.LineItem}", actual); }
public ApiFactory(string virtualPath, XmlCommentDocumentationProvider docProvider, ParameterFactory parameterFactory, ModelFactory modelFactory, ICollection <ApiDescription> apiDescriptions) { _apiDescriptions = apiDescriptions; _modelFactory = modelFactory; _parameterFactory = parameterFactory; _appVirtualPath = virtualPath.TrimEnd('/'); _docProvider = docProvider; }
public ApiFactory() { _appVirtualPath = HttpRuntime.AppDomainAppVirtualPath.TrimEnd('/');; _apiDescriptions = GlobalConfiguration.Configuration.Services.GetApiExplorer().ApiDescriptions; _parameterFactory = new ParameterFactory(); _docProvider = (XmlCommentDocumentationProvider)GlobalConfiguration.Configuration.Services.GetService((typeof(IDocumentationProvider))); _modelFactory = new ModelFactory(_docProvider); }
public static void ConfigureDocumentationProvider(string absoluteDocPath, ServicesContainer services) { try { var docProvider = new XmlCommentDocumentationProvider(absoluteDocPath); services.Replace(typeof(IDocumentationProvider), docProvider); } catch (FileNotFoundException) { throw new Exception("Please enable \"XML documentation file\" in project properties with default (bin\\Sample.WebApi.XML) value or edit value in App_Start\\SwaggerNet.cs"); } }
private ResourceListing getDocs(HttpActionContext actionContext) { var assemblyType = (actionContext.ActionDescriptor as ReflectedHttpActionDescriptor).MethodInfo.DeclaringType; var docProvider = new XmlCommentDocumentationProvider(); //(XmlCommentDocumentationProvider)GlobalConfiguration.Configuration.Services.GetDocumentationProvider(); ResourceListing r = SwaggerGen.CreateResourceListing(actionContext); foreach (var api in GlobalConfiguration.Configuration.Services.GetApiExplorer().ApiDescriptions) { if (api.ActionDescriptor.ActionName.EndsWith("API"))//Ignore each Default API action continue; string apiControllerName = api.ActionDescriptor.ControllerDescriptor.ControllerName; if (api.Route.Defaults.ContainsKey(SwaggerGen.SWAGGER) || apiControllerName.ToUpper().Equals(SwaggerGen.SWAGGER.ToUpper())) continue; // Make sure we only report the current controller docs if (!apiControllerName.Equals(actionContext.ControllerContext.ControllerDescriptor.ControllerName)) continue; ResourceApi rApi = SwaggerGen.CreateResourceApi(api); r.apis.Add(rApi); ResourceApiOperation rApiOperation = SwaggerGen.CreateResourceApiOperation(r, api, docProvider); rApi.operations.Add(rApiOperation); foreach (var param in api.ParameterDescriptions) { ResourceApiOperationParameter parameter = SwaggerGen.CreateResourceApiOperationParameter(r, api, param, docProvider); rApiOperation.parameters.Add(parameter); } if (System.Configuration.ConfigurationManager.AppSettings["swagger:APITOKEN"] != null && System.Configuration.ConfigurationManager.AppSettings["swagger:APITOKEN"].Equals("true") && !api.ActionDescriptor.ActionName.EndsWith("API")) { //添加Token ResourceApiOperationParameter p = new ResourceApiOperationParameter(); p.name = "ApiToken"; p.description = "Api Token"; p.paramType = "path"; p.required = true; p.dataType = "String"; rApiOperation.parameters.Insert(0, p); } SwaggerGen.CreateModel(r, api, docProvider); //r.models = new ResourceApiModel(); } return r; }
public ParameterFactory() { _docProvider = (XmlCommentDocumentationProvider)GlobalConfiguration.Configuration.Services.GetService((typeof(IDocumentationProvider))); }
public ParameterFactory(XmlCommentDocumentationProvider docProvider) { _docProvider = docProvider; }
public ModelFactory(XmlCommentDocumentationProvider documentationProvider) { _docProvider = documentationProvider; }
public void Setup() { var docProvider = new XmlCommentDocumentationProvider(TestHelper.XML_DOC_PATH); _factory = new ParameterFactory(docProvider); }
public void Setup() { _docProvider = new XmlCommentDocumentationProvider(TestHelper.XML_DOC_PATH); }
public SwaggerGen() { _docProvider = (XmlCommentDocumentationProvider)GlobalConfiguration.Configuration.Services.GetDocumentationProvider(); }