Aller au contenu

Regrouper les routes pour RPC ​

Pour activer correctement l’inférence de types pour plusieurs app, vous pouvez utiliser app.route() comme suit.

Transmettez la valeur renvoyée par des méthodes comme app.get() ou app.post() comme deuxième argument de 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')}` }))

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')}` }))

const app = new Hono()
  .route('/authors', authorsApp)
  .route('/books', booksApp)

type AppType = typeof app

Voir aussi ​

Publié sous licence MIT.