{ Hono } from 'hono' import { z } from 'zod' import { describeRoute, resolver, validator, } from 'hono-openapi' const paramsSchema = z.object({ id: z.string(), }) const postSchema = z.object({ id: z.string(), title: z.string().meta({ example: ' 予約完了', }), }) ROUTE export const posts = new Hono().get( '/posts/:id', describeRoute({ description: ' 投稿の取得', responses: { 200: { content: { 'application/json': { schema: resolver(postSchema), }, } }, }, }), validator('param', paramsSchema), (c) => { const { id } = c.req.valid('param') return c.json({ id, title: ' 予約完了' }) } ) 実用!Hono RPC 2026 / yodaka 15 / 19