AdonisJs v4學習筆記 3 - 路由

官網(wǎng)文檔

路由其實基本上就是Laravel那套東西,跟Koa2也很像,一看就明白了。默認的路由文件在/start/routes.js里面,代碼很少:

const Route = use('Route')

Route.on('/').render('welcome')

這里的use是AdonisJs帶的一個全局函數(shù),類似原生的require但又不是完整路徑。其實是類似于PHP的use語法,更效仿了LaravelFacades設計模式。use('Route')這里的Route其實只是一個簡短的別名,對應AdonisJs Framework中的路由類。

上面的路由應該很好理解,其實就是『訪問路徑/時,渲染welcome模板』,模板文件是/resources/views/welcome.edge。

除了上面直接渲染模板的路由,基本的GET/POST/PUT/DELETE等這些請求方法當然也是支持的,下面是更多的例子:

//直接返回純文字
Route.get('/', () => 'Hello world')

// 放心使用async吧
Route.post('/users', async () => {
})
Route.put('/users/1', async () => {
})
Route.delete('/', async () => {
})

// 甚至同時匹配多種請求方法到同一路由
Route.route('/', async () => {
}, ['GET', 'POST'])

// 帶有URL參數(shù)的路由
// 通過參數(shù)用模型查詢數(shù)據(jù)庫記錄
// 返回一個JSON對象
Route.get('posts/:id', async ({ params }) => {
  const post = await Post.find(params.id)
  return post
})

// 指向一個Controller的某個方法,這個常用。
// 控制器文件位于`/app/Controllers/Http/UserController.js`
// 可用`adonis make:controller User`自動生成
Route.get('/api/v1/users', 'UserController.index')

// 需要已登錄用戶才能訪問的RESTful路由
// url和控制器方法對應關(guān)系: https://dev.adonisjs.com/docs/4.0/routing#_route_resources
Route
  .resource('users', 'UsersController')
  .middleware(['auth'])

// 路由組,這個必須用,有同樣URL前綴或中間件需要放到一起的路由用`Route.group`來定義。
Route
  .group(() => {
    Route.get('users', 'UserController.index')
    Route.post('users', 'UserController.store')
  })
  .prefix('api/v1') // url前綴
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容