Multi-File Route Grouping Strategies — Let’s Learn Adonis 5, Lesson 2.4
View all lessons in the Let’s Learn Adonis 5 series here.
I received a great question on the last lesson covering route groups and I wanted to answer it for everyone before moving forward. It’s in regard to having routes split among several different files.
The question was if I have a route group I want to apply to more than one file, do I need to redefine the group within each file? In other words, for the below file structure, in order to have a route group for /api/v1
do you need to define the group in both the posts.ts
file and the series.ts
file?
start/
├─ routes/
│ ├─ api/
│ │ ├─ v1/
│ │ │ ├─ posts.ts
│ │ │ ├─ series.ts
├─ routes.ts
That would be a pain! Thankfully, the answer is no, you don’t. So long as the code defining a route definition executes within a route group, that route definition will be created as a member of the group.
For example, we can wrap any set of routes within a function then call the function inside two different groups. The result will be the routes defined in the function will be defined twice, once for each group.
function postRoutes() {
Route.get('/posts'…