Asp.net web api ASP.NET Web API自定义帮助页
我注意到,web API在帮助页面中并没有按任何特定顺序(或至少按API名称)排序。如果可能的话,我想按名称分类订购。无法在ToLookup上很好地使用OrderBy。以下是默认情况下附带的代码:Asp.net web api ASP.NET Web API自定义帮助页,asp.net-web-api,Asp.net Web Api,我注意到,web API在帮助页面中并没有按任何特定顺序(或至少按API名称)排序。如果可能的话,我想按名称分类订购。无法在ToLookup上很好地使用OrderBy。以下是默认情况下附带的代码: @{ // Group APIs by controller ILookup<string, ApiDescription> apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor
@{
// Group APIs by controller
ILookup<string, ApiDescription> apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor.ControllerName);
}
<div>
<section>
@foreach (var group in apiGroups)
{
@Html.DisplayFor(m => group, "ApiGroup")
}
</section>
</div>
@{
//按控制器分组API
ILookup apiGroups=Model.ToLookup(api=>api.ActionDescriptor.ControllerDescriptor.ControllerName);
}
@foreach(apiGroups中的var组)
{
@DisplayFor(m=>group,“ApiGroup”)
}
循环中的顺序:
<div>
<section>
@foreach (var group in apiGroups.OrderBy(x => x.Key))
{
@Html.DisplayFor(m => group, "ApiGroup")
}
</section>
</div>
@foreach(apiGroups.OrderBy(x=>x.Key)中的var组)
{
@DisplayFor(m=>group,“ApiGroup”)
}
ILookup apiGroups=Model.OrderBy(d=>d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api=>api.ActionDescriptor.ControllerDescriptor.ControllerName);
上述答案几乎是正确的,只需在最后关闭控制器名称即可
ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model.OrderBy(d => d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api => api.ActionDescriptor.ControllerDescriptor);
ILookup apiGroups=Model.OrderBy(d=>d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api=>api.ActionDescriptor.ControllerDescriptor);
我测试过了,现在一切正常
ILookup<HttpControllerDescriptor, ApiDescription> apiGroups = Model.OrderBy(d => d.ActionDescriptor.ControllerDescriptor.ControllerName).ToLookup(api => api.ActionDescriptor.ControllerDescriptor);