public static void ForAll(Assembly assembly, string servicePrefix) { var generator = new AssemblyTypeToSwaggerGenerator(assembly.CodeBase); var allClassNames = generator.GetAbpServiceBaseClasses(); foreach (var item in allClassNames) { var service = generator.FromAbpApplicationMoudleAssembly(item, UrlTemplate.Replace("{servicePrefix}", servicePrefix)); if (service == null) { continue; } var converter = new SwaggerOperationsExtendedConverter(typeof(SwaggerOperationsExtended)); var jsontext = service.ToJson(converter); //gen json file if (HttpContext.Current != null) { Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/apidoc/")); var file = HttpContext.Current.Server.MapPath("~/apidoc/") + "/" + item + ".js"; if (File.Exists(file)) { File.Delete(file); } var writer = File.CreateText(file); writer.Write(jsontext); writer.Close(); } } }
/// <summary>Converts the description object to JSON.</summary> /// <returns>The JSON string.</returns> public new string ToJson() { var settings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.None, Formatting = Formatting.Indented }; var swaggerOperationsConverter = new SwaggerOperationsExtendedConverter(typeof(SwaggerOperationsExtended)); var jsonSchema4Converter = new JsonSchema4Converter(typeof (JsonSchema4)); settings.Converters.Add(swaggerOperationsConverter); settings.Converters.Add(jsonSchema4Converter); GenerateOperationIds(); JsonSchemaReferenceUtilities.UpdateSchemaReferencePaths(this); JsonSchemaReferenceUtilities.UpdateSchemaReferences(this); var data = JsonConvert.SerializeObject(this, settings); return JsonSchemaReferenceUtilities.ConvertPropertyReferences(data); }