Web API 2帮助页面中的排序控制器

时间:2018-10-12 13:00:29

标签: c# asp.net-web-api2

是否可以在帮助页面中对控制器进行排序?我不想按名称排序,但是我想选择哪个控制器将首先显示在帮助页面中。

谢谢您的帮助

2 个答案:

答案 0 :(得分:2)

请参见下面的链接。您可以转到Areas \ HelpPage \ Views \ Help

随意修改帮助页面。

要修改初始帮助页面,您可以相应地更改Index.cshtml文件中的代码。

https://blogs.msdn.microsoft.com/yaohuang1/2012/09/30/asp-net-web-api-help-page-part-1-basic-help-page-customizations/

答案 1 :(得分:0)

所以,这已经有一百万年的历史了,但是如果对任何人都有用,这似乎是可行的:

  1. 创建自定义属性

    public class ControllerHelpIndexAttribute : Attribute
    {
        public ControllerHelpIndexAttribute(int index)
        {
            Index = index;
        }
        public int Index { get; set; }
    }
    
  2. 将其放在您的控制器顶部

    [ControllerHelpIndex(2)]
    
  3. 更改帮助页面index.cshtml

    // Group APIs by controller
    ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model
    .OrderBy(m =>   m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<ControllerHelpIndexAttribute>().FirstOrDefault()!=null?m.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<ControllerHelpIndexAttribute>().FirstOrDefault().Index:-1)
    .ToLookup(api => api.ActionDescriptor.ControllerDescriptor); 
    

希望它有用。