© 2026 Hedgehog Software, LLC
import { Hono } from "hono" // reviews controller export const reviewsController = new Hono() .get("/", (c) => c.json({ message: "Hello, world!" })) .get("/:reviewId", (c) => { const bookId = c.req.param("bookId") // This is not typed. :( const reviewId = c.req.param("reviewId") return c.json({ bookId, reviewId }) }) // books controller export const booksController = new Hono() .get("/", (c) => c.json({ message: "Hello, world!" })) .get("/:bookId", (c) => c.json({ message: c.req.param("bookId") })) .post("/", (c) => c.json({ message: "Hello, world!" })) .put("/:bookId", (c) => c.json({ message: c.req.param("bookId") })) .delete("/:bookId", (c) => c.json({ message: c.req.param("bookId") })) .route("/:bookId/reviews", reviewsController) // main controller export const controller = new Hono().route("/api/books", booksController)