Beispiel #1
0
        public void Serialize(JsonWriter writer)
        {
            writer.WriteStartObject();

            writer.WritePropertyName("swagger");
            writer.WriteValue(Swagger);
            if (Info != null)
            {
                writer.WritePropertyName("info");
                Info.Serialize(writer);
            }
            if (Host != null)
            {
                writer.WritePropertyName("host");
                writer.WriteValue(Host);
            }
            if (BasePath != null)
            {
                writer.WritePropertyName("basePath");
                writer.WriteValue(BasePath);
            }
            if (Schemes != null && Schemes.Any())
            {
                writer.WritePropertyName("schemes");
                writer.WriteStartArray();
                foreach (string sch in Schemes)
                {
                    writer.WriteValue(sch);
                }
                writer.WriteEndArray();
            }
            if (Paths != null && Paths.Any())
            {
                writer.WritePropertyName("paths");
                WritePaths(writer);
            }

            if (Definitions != null && Definitions.Any())
            {
                writer.WritePropertyName("definitions");
                WriteDefinitions(writer);
            }

            if (SecurityDefinitions != null && SecurityDefinitions.Any())
            {
                writer.WritePropertyName("securityDefinitions");
                WriteSecurityDefinitions(writer);
            }


            if (Tags?.Count > 0)
            {
                writer.WritePropertyName("tags");
                var tagsValue = JsonConvert.SerializeObject(Tags);
                writer.WriteRawValue(tagsValue);
            }


            writer.WriteEndObject();
        }
Beispiel #2
0
        protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.Add(new ServiceRoute("v1/rest", new WebServiceHostFactory(), typeof(IService1)));
            RouteTable.Routes.Add(new ServiceRoute("api-docs", new WebServiceHostFactory(), typeof(SwaggerWcfEndpoint)));

            var info = new Info
            {
                Description = "Sample Service to test SwaggerWCF",
                Version     = "0.0.1"
            };

            var security = new SecurityDefinitions
            {
                {
                    "api-gateway", new SecurityAuthorization
                    {
                        Type        = "oauth2",
                        Name        = "api-gateway",
                        Description = "Forces authentication with credentials via an api gateway",
                        Flow        = "implicit",
                        Scopes      = new Dictionary <string, string>
                        {
                            { "fu", "use fu scope" },
                            { "bar", "use bar scope" },
                        },
                        AuthorizationUrl = "http://yourapi.net/oauth/token"
                    }
                }
            };

            //
            SwaggerWcfEndpoint.Configure(info, security);
        }
 public ApiSpecification()
 {
     Schemes             = new List <string>();
     Consumes            = new List <string>();
     Produces            = new List <string>();
     Info                = new Info();
     Paths               = new Paths();
     Definitions         = new Definitions();
     Parameters          = new ParametersDefinitions();
     Responses           = new Responses();
     SecurityDefinitions = new SecurityDefinitions();
     Security            = new List <SecurityRequirement>();
     Tags                = new List <Tag>();
     ExternalDocs        = new ExternalDocs();
 }
 public static void Configure(Info info, SecurityDefinitions securityDefinitions = null)
 {
     Init();
     Service.Info = info;
     Service.SecurityDefinitions = securityDefinitions;
 }
 public static void Configure(Info info, SecurityDefinitions securityDefinitions = null, string basePath = null)
 {
     Info = info;
     SecurityDefinitions = securityDefinitions;
     BasePath            = basePath;
 }