What a route declares for one concern, wherever it was written.
The route's own option comes first, because when a router is in play a route is the single
description of itself. Failing that, the handler's own decorator is read — @Validate, @Returns,
@Protect, @Can — which is the form that needs no router at all.
That second half is the reason this exists. Both modules advertise working without a router, and a
contract that only ever read route options quietly documented half of such an application: the
endpoints were listed, their payloads were not.
What a route declares for one concern, wherever it was written.
The route's own option comes first, because when a router is in play a route is the single description of itself. Failing that, the handler's own decorator is read —
@Validate,@Returns,@Protect,@Can— which is the form that needs no router at all.That second half is the reason this exists. Both modules advertise working without a router, and a contract that only ever read route options quietly documented half of such an application: the endpoints were listed, their payloads were not.