private SchemaRegistry Subject(Action <SchemaRegistryOptions> setupAction = null) { var options = new SchemaRegistryOptions(); if (setupAction != null) { setupAction(options); } return(new SchemaRegistry(new JsonSerializerSettings(), options)); }
/// <summary> /// Initializes a new instance of the <see cref="SchemaRegistryFactory"/> class. /// </summary> /// <param name="mvcJsonOptionsAccessor"><see cref="IOptions{T}">Options</see> for <see cref="MvcJsonOptions"/>.</param> /// <param name="schemaRegistryOptionsAccessor"><see cref="IOptions{T}">Options</see> for <see cref="SchemaRegistryOptions"/>.</param> /// <param name="schemaProviders"><see cref="IInstancesOf{T}"/> of <see cref="ICanProvideSwaggerSchemas"/>.</param> public SchemaRegistryFactory( IOptions <MvcJsonOptions> mvcJsonOptionsAccessor, IOptions <SchemaRegistryOptions> schemaRegistryOptionsAccessor, IInstancesOf <ICanProvideSwaggerSchemas> schemaProviders) { _jsonSerializerSettings = mvcJsonOptionsAccessor.Value.SerializerSettings; _schemaRegistryOptions = schemaRegistryOptionsAccessor.Value; _schemaProviders = schemaProviders; _originalFactory = new OriginalSchemaRegistryFactory(_jsonSerializerSettings, _schemaRegistryOptions); }
public AsyncApiSchemaRegistry( JsonSerializerSettings jsonSerializerSettings, SchemaRegistryOptions options = null) { this._jsonSerializerSettings = jsonSerializerSettings; this._jsonContractResolver = this._jsonSerializerSettings.ContractResolver ?? (IContractResolver) new DefaultContractResolver(); this._options = options ?? new SchemaRegistryOptions(); this._schemaIdManager = new SchemaIdManager(this._options.SchemaIdSelector); this.Definitions = (IDictionary <string, Schema>) new Dictionary <string, Schema>(); }
public static void Init(TestContext testContext) { var knownTypesOptions = Options.Create(new DotvvmApiOptions()); knownTypesOptions.Value.AddKnownType(typeof(Company <string>)); var options = new SwaggerGeneratorOptions { 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>() .AddSingleton <DiagnosticSource>(p => new DiagnosticListener("test")) .AddLogging(); serviceCollection.AddMvc(setup => setup.Conventions.Add(new ApiExplorerVisibilityEnabledConvention())) .AddApplicationPart(typeof(CompaniesController).Assembly); var serviceProvider = serviceCollection.BuildServiceProvider(); var apiDescriptionGroupCollectionProvider = serviceProvider.GetRequiredService <IApiDescriptionGroupCollectionProvider>(); var schemaSettings = new SchemaRegistryOptions() { SchemaFilters = { new AddTypeToModelSchemaFilter() } }; var schemaRegistryFactory = new SchemaRegistryFactory(new JsonSerializerSettings(), schemaSettings); var generator = new SwaggerGenerator(apiDescriptionGroupCollectionProvider, schemaRegistryFactory, options); document = generator.GetSwagger("v1"); }
public SwaggerGenOptions() { _swaggerProviderOptions = new SwaggerProviderOptions(); _schemaRegistryOptions = new SchemaRegistryOptions(); _operationFilterDescriptors = new List <FilterDescriptor <IOperationFilter> >(); _documentFilterDescriptors = new List <FilterDescriptor <IDocumentFilter> >(); _modelFilterDescriptors = new List <FilterDescriptor <IModelFilter> >(); // Enable Annotations OperationFilter <SwaggerAttributesOperationFilter>(); ModelFilter <SwaggerAttributesModelFilter>(); }