web api 多版本控制重要的两个类

1、版本路径替换

public class ReplaceVersionWithExactValueInPath : IDocumentFilter    {        public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context)        {            swaggerDoc.Paths = swaggerDoc.Paths                .ToDictionary(                    path => path.Key.Replace("v{version}", swaggerDoc.Info.Version),                    path => path.Value                );        }    }

2、在访问时去掉版本参数。自动获得版本的值传入。

 public class RemoveVersionFromParameter : IOperationFilter    {        public void Apply(Operation operation, OperationFilterContext context)        {            if (operation.Parameters.Count > 0)            {                var versionParameter = operation.Parameters.FirstOrDefault(p => p.Name == "version");                operation.Parameters.Remove(versionParameter);            }        }    }

相关文章