在Adonis中,可以通过将参数用问号“?”包含来定义可选参数。当请求中没有提供该参数时,该参数的值将为null。以下是一个针对Adonis路由中可选参数的示例:
Route.get('users/:id?', async ({params}) => {
if(params.id){
return User with id ${params.id} was found
} else {
return 'No user id provided'
}
})
在上面的示例中,我们定义了一个名为'id'的可选参数。如果路由中提供该参数,则会返回特定的用户信息;否则,将返回一个未提供用户ID的消息。
除此之外,我们还可以在路由定义中使用默认值来处理可选参数。例如:
Route.get('users/:id?', async ({params}) => {
const userId = params.id || 'guest'
return User with id ${userId} was found
})
在这种情况下,如果没有提供用户ID,则将默认值设置为“guest”。