コード例 #1
0
        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)));
        }
コード例 #2
0
        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)));
        }