对外提供的接口在实际生成过程中,可能是需要一个接口版本的,比如说v1,manage。效果如下:
在swagger中怎么实现呢?
1. 添加SwaggerVersionHelper.cs
public class SwaggerVersionHelper { public static bool ResolveVersionSupportByRouteConstraint(ApiDescription apiDesc, string targetApiVersion) { var attr = apiDesc.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<VersionedRoute>().FirstOrDefault(); if (attr == null) { if (targetApiVersion == "manage") { return true; } else { return false; } } int targetVersion; targetApiVersion = targetApiVersion.TrimStart('v'); if (attr.Version != 0 && int.TryParse(targetApiVersion, out targetVersion)) { return attr.Version == targetVersion; }; return false; } }