Когда мы создаем модуль внутри приложения NancyFX, мы маршрутизации таким образом:название маршрута по соглашению или имя модуля в NancyFX
public class HappyModule : Nancy.NancyModule
{
public HappyModule() : base("/Happy")
{
Get["/"] = _ => "Received GET request";
}
}
Таким образом, когда мы попали http://<host>:<port>/Happy/
, мы получим ожидаемый ответ. Тем не менее, я думаю, что маршруты жесткого кодирования не являются «очень удобными» (особенно для больших систем), поэтому возникает вопрос: существует ли способ установить соглашение или что-то, что делает маршруты, называемые соответствующими имя модуля, так что таким образом мне не всегда нужно расширять/жестко кодировать базовый конструктор NancyModule
?
Что я действительно хочу знать: есть ли механизм маршрутизации, аналогичный тому, который у нас есть в ASP.NET WebApi (код ниже)?
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Глядя на документы, это не представляется возможным https://github.com/NancyFx/Nancy/вики/Определение-маршрутов. –