/// <summary> /// Adds a new convention applied to all controllers. /// </summary> /// <param name="convention">The <see cref="IControllerConvention">convention</see> to be applied.</param> public virtual void Add(IControllerConvention convention) { Arg.NotNull(convention, nameof(convention)); ControllerConventions.Add(convention); }
/// <summary> /// Adds a new convention applied to all controllers. /// </summary> /// <param name="convention">The <see cref="IControllerConvention">convention</see> to be applied.</param> public virtual void Add(IControllerConvention convention) => ControllerConventions.Add(convention);
/// <summary> /// Adds the custom API versioning. With UrlSegment, Default Version Selector. /// </summary> /// <returns>The custom API versioning.</returns> /// <param name="services">Services.</param> /// <param name="convention">Convention.</param> /// https://github.com/Microsoft/aspnet-api-versioning/wiki/API-Version-Conventions public static IServiceCollection AddCustomApiVersioning(this IServiceCollection services, IControllerConvention convention = null) { services?.AddApiVersioning(options => { options.ReportApiVersions = true; options.AssumeDefaultVersionWhenUnspecified = true; options.DefaultApiVersion = new ApiVersion(1, 0); options.ApiVersionSelector = new CurrentImplementationApiVersionSelector(options); options.ApiVersionReader = new UrlSegmentApiVersionReader(); if (convention != null) { options.Conventions.Add(convention); } }); return(services); }