有没有办法列出南希应用程序中的所有可用路由?

Joh*_*ose 7 nancy

我正在使用Nancy通过Web服务实现API.

我想要一个以编程方式列出所有可用路由的/ help或/ docs页面,这样我就可以为API用户提供自动生成/更新的文档.

有关如何实现这一目标的任何想法?(在路由处理程序中,"this.routes"可以访问已定义路由的集合 - 但仅限于当前的NancyModule.我需要一种编程方式来列出所有已注册的路由,而不仅仅是当前模块中的路由)

Ale*_*apa 10

不完全是你需要的,但南希还有一个内置的仪表板面板.要启用它:

public class CustomBootstrapper : DefaultNancyBootstrapper
{
    protected override DiagnosticsConfiguration DiagnosticsConfiguration
    {
        get { return new DiagnosticsConfiguration { Password = @"secret"}; }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在{yournancyapp}/_ nancy上访问它

https://github.com/NancyFx/Nancy/wiki/Diagnostics


Ste*_*ins 8

您可以通过依赖IRouteCacheProvider并调用GetCache来实现 - 我们实际上是在主repo中的一个演示中执行此操作:

https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Hosting.Aspnet/MainModule.cs#L13

  • 链接已截至2016年6月.如果我没有记错的话,这是新的位置:https://github.com/NancyFx/Nancy/blob/master/samples/Nancy.Demo.Hosting.Aspnet/MainModule.cs (4认同)