private SchemaRegistry Subject(Action <SchemaRegistrySettings> configure = null) { var settings = new SchemaRegistrySettings(); if (configure != null) { configure(settings); } return(new SchemaRegistry(new JsonSerializerSettings(), settings)); }
public static void Init(TestContext testContext) { var knownTypesOptions = Options.Create(new DotvvmApiOptions()); knownTypesOptions.Value.AddKnownType(typeof(Company <string>)); var options = new SwaggerGeneratorSettings { DocInclusionPredicate = (version, api) => true, OperationFilters = { new RemoveReadOnlyFromUriParametersOperationFilter(), new RemoveBindNoneFromUriParametersOperationFilter(), new AddAsObjectOperationFilter(knownTypesOptions) }, DocumentFilters = { new HandleKnownTypesDocumentFilter(knownTypesOptions) }, SwaggerDocs = { { "v1", new Info() { Title = "Test API", Version = "v1" } } } }; var serviceCollection = new ServiceCollection() .AddSingleton <ObjectPoolProvider, DefaultObjectPoolProvider>() .AddSingleton <IHostingEnvironment, HostingEnvironment>() .AddLogging(); serviceCollection.AddMvc(setup => setup.Conventions.Add(new ApiExplorerVisibilityEnabledConvention())) .AddApplicationPart(typeof(CompaniesController).Assembly); var serviceProvider = serviceCollection.BuildServiceProvider(); var apiDescriptionGroupCollectionProvider = serviceProvider.GetService <IApiDescriptionGroupCollectionProvider>(); var schemaSettings = new SchemaRegistrySettings() { SchemaFilters = { new AddTypeToModelSchemaFilter() } }; var schemaRegistryFactory = new SchemaRegistryFactory(new JsonSerializerSettings(), schemaSettings); var generator = new SwaggerGenerator(apiDescriptionGroupCollectionProvider, schemaRegistryFactory, options); document = generator.GetSwagger("v1"); }
public SwaggerGenOptions() { _swaggerGeneratorSettings = new SwaggerGeneratorSettings(); _schemaRegistrySettings = new SchemaRegistrySettings(); _xmlDocFactories = new List <Func <XPathDocument> >(); _operationFilterDescriptors = new List <FilterDescriptor <IOperationFilter> >(); _documentFilterDescriptors = new List <FilterDescriptor <IDocumentFilter> >(); _schemaFilterDescriptors = new List <FilterDescriptor <ISchemaFilter> >(); // Enable Annotations OperationFilter <SwaggerAttributesOperationFilter>(); SchemaFilter <SwaggerAttributesSchemaFilter>(); }
public SharpPlugSwaggerGenOptions() { SwaggerGeneratorSettings = new SwaggerGeneratorSettings(); SchemaRegistrySettings = new SchemaRegistrySettings(); XmlDocFactories = new List <Func <XPathDocument> >(); OperationFilterDescriptors = new List <FilterDescriptor <IOperationFilter> >(); DocumentFilterDescriptors = new List <FilterDescriptor <IDocumentFilter> >(); SchemaFilterDescriptors = new List <FilterDescriptor <ISchemaFilter> >(); // Enable Annotations //OperationFilter<SwaggerAttributesOperationFilter>(); //OperationFilter<SwaggerResponseAttributeFilter>(); //SchemaFilter<SwaggerAttributesSchemaFilter>(); }
public static SchemaRegistrySettings Clone(this SchemaRegistrySettings settings) { var s = new SchemaRegistrySettings { DescribeAllEnumsAsStrings = settings.DescribeAllEnumsAsStrings, DescribeStringEnumsInCamelCase = settings.DescribeStringEnumsInCamelCase, IgnoreObsoleteProperties = settings.IgnoreObsoleteProperties, SchemaIdSelector = settings.SchemaIdSelector, }; foreach (var typeMap in settings.CustomTypeMappings) { s.CustomTypeMappings.Add(typeMap.Key, typeMap.Value); } foreach (var schemaFilter in settings.SchemaFilters) { s.SchemaFilters.Add(schemaFilter); } return(s); }