Skip to main content

Routes (RouteModule/RouteChild)

Nidus organizes routing by module. A root module declares routes (submodules) responsible for each path.

Those routes are used by Nidus to decide which module to load when Horse receives a request.

Defining routes in the root module

unit App.Module;

interface

uses
Nidus.Module,
NFe.Module;

type
TAppModule = class(TModule)
public
function Routes: TRoutes; override;
end;

implementation

function TAppModule.Routes: TRoutes;
begin
Result := [
RouteModule('/nfe/:id', TNFeModule)
];
end;

end.

Running with Horse

uses
Horse,
Nidus.Driver.Horse,
App.Module;

begin
THorse.Use(Nidus_Horse(TAppModule.Create));
THorse.Listen(9000);
end.
tip

Nidus_Horse internally calls GetNidus.LoadRouteModule(...) and GetNidus.DisposeRouteModule(...). You do not need to do this manually.

caution

HTTP handling remains in Horse (e.g., THorse.Get('/nfe/:id', ...)). Without a registered handler, Horse will not invoke your logic.