/// <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))
 {
 }
Example #2
0
        /// <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);
 }