node ace list:routes - untuk melihat daftar routes
route middleware menggunakan chaining use() method.
route middleware digunakan untuk memproteksi route tertentu.
cara membuat middleware:
import AuthMiddleware from '#middleware/auth_middleware'
export const middleware = {
auth: () => new AuthMiddleware(),
guest: import('#middleware/guest_middleware'),
}
router
.get('/dashboard', async ({ response }) => {
return response.ok({ message: 'Welcome to dashboard' })
})
.use(['auth'])
export const middleware = { global: [() => import('#middleware/auth_middleware')] }
Jadi singkatnya: use() → pasang middleware ke route atau grup. middleware.global → untuk semua route.
router
.get('/users/:id', async ({ params }) => {
return `User ID: ${params.id}`
})
.as('user.show')
kemudian di view:
<Link :href="route('user.show', { id: 123 })">User 123</Link>
router.group(() => {
router.get('grup1', () => 'This is grup1') // localhost:3000/grup1
router.get('grup2', () => 'This is grup2') // localhost:3000/grup2
})
router
.group(() => {
router.get('grup3', () => 'This is grup3') // localhost:3000/api/grup3
router.get('grup4', () => 'This is grup4') // localhost:3000/api/grup4
})
.prefix('/api')
router
.group(() => {
router
.group(() => {
router.get('grup5', () => 'This is grup5') // localhost:3000/api/v1/grup5
router.get('grup6', () => 'This is grup6') // localhost:3000/api/v1/grup6
})
.prefix('/v1')
})
.prefix('/api')
router
.group(() => {
router.get('grup-identifier', () => 'This is grup-identifier').as('grup-identifier.index') // api.grup-identifier.index
router
.group(() => {
router
.get('grup-identifier2', () => 'This is grup-identifier2 index')
.as('grup-identifier2.index') // api.commerce.grup-identifier2.index
})
.as('commerce')
})
.prefix('api')
.as('api')