为 RPC 分组路由
如果你想为多个 app
正确启用类型推断,你可以像下面这样使用 app.route()
。
将诸如 app.get()
或 app.post()
等方法返回的值传递给 app.route()
的第二个参数。
ts
import { Hono } from 'hono'
import { hc } from 'hono/client'
const authorsApp = new Hono()
.get('/', (c) => c.json({ result: 'list authors' })) // 列出作者
.post('/', (c) => c.json({ result: 'create an author' }, 201)) // 创建一个作者
.get('/:id', (c) => c.json({ result: `get ${c.req.param('id')}` })) // 根据 id 获取作者
const booksApp = new Hono()
.get('/', (c) => c.json({ result: 'list books' })) // 列出书籍
.post('/', (c) => c.json({ result: 'create a book' }, 201)) // 创建一本书籍
.get('/:id', (c) => c.json({ result: `get ${c.req.param('id')}` })) // 根据 id 获取书籍
const app = new Hono()
.route('/authors', authorsApp)
.route('/books', booksApp)
type AppType = typeof app