/// <summary> /// Creates a new instance of <see cref="OpenApiGeneratorConfig"/>. /// </summary> /// <param name="annotationXmlDocuments">The XDocuments representing the annotation xmls.</param> /// <param name="assemblyPaths">The list of relative or absolute paths to the assemblies that will be used to /// reflect into the types provided in the xml. /// </param> /// <param name="openApiDocumentVersion">The version of the OpenAPI document.</param> /// <param name="filterSetVersion">The version of the filter set to use to generate an OpenAPI document. /// </param> public OpenApiGeneratorConfig( IList <XDocument> annotationXmlDocuments, IList <string> assemblyPaths, string openApiDocumentVersion, FilterSetVersion filterSetVersion) : this( annotationXmlDocuments, assemblyPaths, openApiDocumentVersion, new OpenApiGeneratorFilterConfig(filterSetVersion)) { }
/// <summary> /// Gets the default filter sets. /// </summary> public static FilterSet GetDefaultFilterSet(FilterSetVersion version) { if (_defaultFilterSet == null) { _defaultFilterSet = new FilterSet(); switch (version) { case FilterSetVersion.V1: //Document config filters _defaultFilterSet.Add(new DocumentVariantAttributesFilter()); //Document filters _defaultFilterSet.Add(new AssemblyNameToInfoFilter()); _defaultFilterSet.Add(new UrlToServerFilter()); _defaultFilterSet.Add(new MemberSummaryToSchemaDescriptionFilter()); _defaultFilterSet.Add(new SecurityToSecurityRequirementDocumentFilter()); //Operation config filters _defaultFilterSet.Add(new CommonAnnotationFilter()); //Operation filters _defaultFilterSet.Add(new GroupToTagFilter()); _defaultFilterSet.Add(new ParamToParameterFilter()); _defaultFilterSet.Add(new ParamToRequestBodyFilter()); _defaultFilterSet.Add(new RemarksToDescriptionFilter()); _defaultFilterSet.Add(new ResponseToResponseFilter()); _defaultFilterSet.Add(new SummaryToSummaryFilter()); _defaultFilterSet.Add(new SecurityToSecurityRequirementOperationFilter()); //Pre processing operation filters _defaultFilterSet.Add(new PopulateInAttributeFilter()); _defaultFilterSet.Add(new ConvertAlternativeParamTagsFilter()); _defaultFilterSet.Add(new ValidateInAttributeFilter()); _defaultFilterSet.Add(new BranchOptionalPathParametersFilter()); //Post processing document filters _defaultFilterSet.Add(new RemoveFailedGenerationOperationFilter()); return(_defaultFilterSet); default: throw new FilterSetVersionNotSupportedException(version.ToString()); } } return(new FilterSet(_defaultFilterSet)); }
/// <summary> /// Creates a new instance of <see cref="OpenApiGeneratorFilterConfig"/> with default filters. /// </summary> public OpenApiGeneratorFilterConfig(FilterSetVersion filterSetVersion) { Filters = FilterSet.GetDefaultFilterSet(filterSetVersion); }