/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionDescriptionProvider"/> class. /// </summary> /// <param name="actionDescriptorCollectionProvider">The <see cref="IActionDescriptorCollectionProvider">provider</see> used to enumerate the actions within an application.</param> /// <param name="groupNameFormatter">The <see cref="IApiVersionGroupNameFormatter">formatter</see> used to get group names for API versions.</param> public DefaultApiVersionDescriptionProvider(IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, IApiVersionGroupNameFormatter groupNameFormatter) { Arg.NotNull(actionDescriptorCollectionProvider, nameof(actionDescriptorCollectionProvider)); Arg.NotNull(groupNameFormatter, nameof(groupNameFormatter)); apiVersionDescriptions = new Lazy <IReadOnlyList <ApiVersionDescription> >(() => EnumerateApiVersions(actionDescriptorCollectionProvider)); GroupNameFormatter = groupNameFormatter; }
/// <summary> /// Initializes a new instance of <see cref="VersionedApiDescriptionProvider"/> class. /// </summary> /// <param name="groupNameFormatter">The <see cref="IApiVersionGroupNameFormatter">formatter</see> used to get group names for API versions.</param> /// <param name="metadadataProvider">The <see cref="IModelMetadataProvider">provider</see> used to retrieve model metadata.</param> public VersionedApiDescriptionProvider(IApiVersionGroupNameFormatter groupNameFormatter, IModelMetadataProvider metadadataProvider) { Arg.NotNull(groupNameFormatter, nameof(groupNameFormatter)); Arg.NotNull(metadadataProvider, nameof(metadadataProvider)); GroupNameFormatter = groupNameFormatter; MetadadataProvider = metadadataProvider; }
/// <summary> /// Initializes a new instance of <see cref="VersionedApiDescriptionProvider"/> class. /// </summary> /// <param name="groupNameFormatter">The <see cref="IApiVersionGroupNameFormatter">formatter</see> used to get group names for API versions.</param> /// <param name="metadadataProvider">The <see cref="IModelMetadataProvider">provider</see> used to retrieve model metadata.</param> /// <param name="apiVersioningOptions">The <see cref="IOptions{TOptions}">container</see> of configured <see cref="ApiVersioningOptions">API versioning options</see>.</param> public VersionedApiDescriptionProvider( IApiVersionGroupNameFormatter groupNameFormatter, IModelMetadataProvider metadadataProvider, IOptions <ApiVersioningOptions> apiVersioningOptions) { Arg.NotNull(groupNameFormatter, nameof(groupNameFormatter)); Arg.NotNull(metadadataProvider, nameof(metadadataProvider)); Arg.NotNull(apiVersioningOptions, nameof(apiVersioningOptions)); GroupNameFormatter = groupNameFormatter; MetadadataProvider = metadadataProvider; options = apiVersioningOptions; }