VersionRouteAttribute.cs 765 B

12345678910111213141516171819202122
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.AspNetCore.Mvc.ApiExplorer;
  3. using System;
  4. using ZhonTai.Admin.Core.Enums;
  5. namespace ZhonTai.Admin.Core.Attributes
  6. {
  7. /// <summary>
  8. /// 自定义路由 /api/{version}/[area]/[controler]/[action]
  9. /// </summary>
  10. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
  11. public class VersionRouteAttribute : RouteAttribute, IApiDescriptionGroupNameProvider
  12. {
  13. public string GroupName { get; set; }
  14. public VersionRouteAttribute(ApiVersion version = ApiVersion.V2, string action = "[action]")
  15. : base($"/api/{version}/[area]/[controller]/{action}")
  16. {
  17. GroupName = version.ToString();
  18. }
  19. }
  20. }