Route web didaftarkan di routes/web.js. File routes/api.js memakai API router yang sama dengan prefix /api otomatis.
Method HTTP
export default function routes(Route) {
Route.get('/posts', listPosts);
Route.post('/posts', createPost);
Route.put('/posts/{id}', replacePost);
Route.patch('/posts/{id}', updatePost);
Route.delete('/posts/{id}', deletePost);
Route.options('/posts', optionsHandler);
}
Route.any() mendaftarkan handler untuk GET, POST, PUT, PATCH, DELETE, dan OPTIONS.
Parameter route
Parameter dapat ditulis dengan format {name} atau :name. Nilainya tersedia di request.params dan sudah melalui decodeURIComponent.
Route.get('/users/{user}', (request) => ({
id: request.params.user,
}));
Route bernama
Berikan nama pada route untuk menghasilkan URL tanpa menggandakan path di banyak tempat.
Route.get('/users/{user}', showUser).name('users.show');
const url = Route.url('users.show', { user: 42 });
// /users/42
Middleware
Pasang satu atau beberapa middleware pada route. Parameter alias dapat ditambahkan setelah tanda titik dua.
Route.post('/profile', updateProfile)
.middleware('session', 'csrf', 'auth', 'throttle:20,1');
Group
Group menggabungkan prefix dan middleware untuk sekumpulan route.
Route.group({ prefix: '/admin', middleware: ['session', 'auth'] }, () => {
Route.get('/dashboard', dashboard);
Route.get('/users', users);
});
Resource controller
Route.resource() membuat route CRUD konvensional untuk method index, create, store, show, edit, update, dan destroy.
Route.resource('posts', PostController);
Fallback
Gunakan fallback untuk request yang tidak cocok dengan route terdaftar.
Route.fallback((request, response) => {
return response.view('errors.404', {}, 404);
});