Slide 11
Slide 11 text
© 2024 Classmethod, Inc.
Appendix.リクエストの検証失敗時のレスポンス
11
リクエストの検証に失敗すると自動でレスポンスを400で返却してくれていい感じで
す。自前でエラーメッセージを実装することも勿論可能です。こういったエラーハン
ドリング周りを一括で設定できるのは嬉しいですよね。
レスポンスの例
import { zValidator } from "@hono/zod-validator";
import { Hono } from "hono";
import { z } from "zod";
const app = new Hono();
const CreateTodoSchema = z.object({
title: z.string(),
completed: z.boolean().optional().default(false),
});
const route = app.post("/todo", zValidator("json", CreateTodoSchema), (c) => {
return c.text("Todo Created");
});
export type AppType = typeof route
export default app;
bodyを
空でリクエスト
{
"success": false,
"error": {
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"title"
],
"message": "Required"
}
],
"name": "ZodError"
}
}