static void Main(string[] args) { var currentFolder = Directory.GetCurrentDirectory(); var pathToDll = Path.Combine(currentFolder, "..", "ContactsList/bin/Debug/netcoreapp1.1/AspNetCoreSpa.dll"); var settings = new WebApiAssemblyToSwaggerGeneratorSettings { AssemblyPaths = new string[] { pathToDll }, DefaultUrlTemplate = "api/{controller}/{action}/{id}", DefaultPropertyNameHandling = NJsonSchema.PropertyNameHandling.CamelCase }; //var excluded = new string[] { "Manage", "Base", "Home" }; var generator = new WebApiAssemblyToSwaggerGenerator(settings); var allClasses = generator.GetControllerClasses(); //var necessaryClasses = allClasses.Except(allClasses.Where(x => excluded.Any(y => x.Contains(y))) // ).ToArray(); var controllersToGenerate = new string[] { "File" }; var necessaryClasses = allClasses.Where(x => controllersToGenerate.Any(y => x.Contains(y))) .ToArray(); var document = generator.GenerateForControllersAsync(necessaryClasses).Result; var settingsForClientApiGeneration = new SwaggerToTypeScriptClientGeneratorSettings { ClassName = "{controller}Client", Template = TypeScriptTemplate.Angular }; var generatorApi = new SwaggerToTypeScriptClientGenerator(document, settingsForClientApiGeneration); var code = generatorApi.GenerateFile(); code = ImproveGeneration(code); File.WriteAllText(Path.Combine(currentFolder, "..", "ContactsList/Client/app", "apiDefinitions.ts"), code); }
public async Task When_controller_type_is_not_found_then_type_load_exception_is_thrown() { //// Arrange var settings = new WebApiAssemblyToSwaggerGeneratorSettings { AssemblyPaths = new[] { @"./NSwag.SwaggerGeneration.WebApi.Tests.dll" }, DefaultUrlTemplate = "api/{controller}/{action}/{id}" }; var generator = new WebApiAssemblyToSwaggerGenerator(settings); //// Act var document = await generator.GenerateForControllersAsync(new[] { "NonExistingClass" }); // Should throw exception //// Assert }