Shared
Router
RoExpress routes are URL-like strings supporting typed named params, wildcards, globs, and inline constraints — embedded in App and Port, you never instantiate it directly.
-- Router is used internally by App via route strings passed to app:Get / app:Post / app:Put / app:Deleteparams
Named Params
Capture route segments by name. Coerce to a typed value with
:name=type.
:name · :name=type
→
capture
Wildcards & Globs
Match one unnamed segment with
* or any number of trailing segments with **.
* · **
→
validation
Constraints
Restrict param values with Lua pattern constraints. Combine with type coercion for precise matching.
=number · =boolean · =vector3 · custom
→
See also
App | Get/Post/Put/Delete registration · Port | isolated pipelines with their own Router · Request Pipeline | where route matching sits (stage 4) · Exported Types | Payload, Request, RouteBuilder<T> · Inventory Example | typed params in practice