public string GetSwagger(string type) { var httpRequest = HttpContext?.Request; var generatorSettings = new GeneratorSettings(httpRequest) { DefaultUrlTemplate = "api/[controller]/{id?}", IgnoreObsolete = true, Info = new Info() { Title = "QSwag Test API", Version = "1.0" }, XmlDocPath = Path.ChangeExtension(Assembly.GetEntryAssembly().Location, "xml"), SecurityDefinitions = new Dictionary <string, SecurityDefinition>() { { "jwt_token", new SecurityDefinition("Authorization", SecuritySchemeType.ApiKey) { In = Location.Header } } }, JsonSchemaLicense = Licenses.NewtonSoft }; generatorSettings.Security.Add(new SecurityRequirement("jwt_token")); var typeFromString = GetTypeFromString(type); if (typeFromString == null) { return(string.Empty); } return(WebApiToSwagger .GenerateForController(typeFromString, generatorSettings, nameof(GetSwagger))); }
public string GetMultiTypeSwagger([FromQuery] List <string> type, string xmlPath = null) { var httpRequest = HttpContext?.Request; var generatorSettings = new GeneratorSettings(httpRequest) { DefaultUrlTemplate = "api/[controller]/{id?}", IgnoreObsolete = true, Info = new Info() { Title = "QSwag Test API", Version = "1.0" }, XmlDocPath = xmlPath ?? Path.ChangeExtension(Assembly.GetEntryAssembly().Location, "xml"), SecurityDefinitions = new Dictionary <string, SecurityDefinition>() { { "jwt_token", new SecurityDefinition("Authorization", SecuritySchemeType.ApiKey) { In = Location.Header } } }, JsonSchemaLicense = _licenses.Newtonsoft, ValidateOptions = new ValidateOptions { UniqueMethodsOnly = true } }; generatorSettings.Security.Add(new SecurityRequirement("jwt_token")); var typeFromString = type.Select(GetTypeFromString).ToArray(); if (typeFromString.Length <= 0) { return(string.Empty); } return(WebApiToSwagger .GenerateForControllers(typeFromString, generatorSettings, nameof(GetSwagger))); }