/// <summary> /// Applies the filter to the specified operation using the given context. /// </summary> /// <param name="operation">The operation to apply the filter to.</param> /// <param name="context">The current operation filter context.</param> public void Apply(OpenApiOperation operation, OperationFilterContext context) { ApiDescription apiDescription = context.ApiDescription; ApiVersion apiVersion = apiDescription.GetApiVersion(); ApiVersionModel model = apiDescription.ActionDescriptor.GetApiVersionModel(Explicit | Implicit); operation.Deprecated = model.DeprecatedApiVersions.Contains(apiVersion); if (operation.Parameters == null) { return; } foreach (OpenApiParameter parameter in operation.Parameters) { ApiParameterDescription description = apiDescription.ParameterDescriptions.First(p => p.Name == parameter.Name); if (parameter.Description == null) { parameter.Description = description.ModelMetadata?.Description; } parameter.Required |= description.IsRequired; } }