/Knowledge/sources/honojs__hono/llms-full/best-practices-factory-createhandlers-in-hono-factory--f208151dd706.md
Best Practices: factory.createHandlers() in hono/factory - hono-docs
Best Practices: factory.createHandlers() in hono/factory Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.t...
Best Practices: factory.createHandlers() in hono/factory
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#factory-createhandlers-in-hono-factory
Summary
If you still want to create a RoR-like Controller, use factory.createHandlers() in hono/factory. If you use this, type inference will work correctly. ```ts import { createFactory } from 'hono/factory' import...
Content
If you still want to create a RoR-like Controller, use factory.createHandlers() in hono/factory. If you use this, type inference will work correctly.
import { createFactory } from 'hono/factory'
import { logger } from 'hono/logger'
// ...
// 😃
const factory = createFactory()
const middleware = factory.createMiddleware(async (c, next) => {
c.set('foo', 'bar')
await next()
})
const handlers = factory.createHandlers(logger(), middleware, (c) => {
return c.json(c.var.foo)
})
app.get('/api', ...handlers)
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#factory-createhandlers-in-hono-factory",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Best Practices > `factory.createHandlers()` in `hono/factory`",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 77,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Best Practices: factory.createHandlers() in hono/factory",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}