TRPCError invalid_type

TRPCError invalid_type

提问人:Saif Azzam 提问时间:11/10/2023 更新时间:11/10/2023 访问量:21

问:

我正在开发一个使用 tRPC(TypeScript 优先的 RPC 库)在 TypeScript/Node.js 环境中处理 CRUD 操作的项目。我已经为 Mashup 资源设置了一个路由器,其中包括用于检索、创建、编辑和删除 Mashup 的操作。代码对我来说似乎很好,但是当我尝试执行某些操作时

const getMashupsOutputSchema = z.object({
    id: z.string(),
    title: z.string(),
    content: z.string(),
    owner: z.string(),
    timestamps: z.object({
        createdAt: z.date(),
        updatedAt: z.date(),
    }),
});

我正在努力确定此错误的根本原因。错误消息提到了预期的“对象”类型的问题,但我无法弄清楚这是从哪里来的。

下面是相关代码的片段:


    createMashup: publicProcedure
        .input(
            z.object({
                title: z.string().min(1).optional(),
                content: z.string().min(1).optional(),
            })
        )
        .output(getMashupsOutputSchema)
        .mutation(async ({ input: { title, content } }) => {
            console.log('Input data:', { title, content });

            connectDB();
            const mashup = await MashupPage.create({
                title,
                content,
            });

            console.log('Created Mashup:', mashup);

            return mashup;
        }),

但是我收到此错误

{
    "error": {
        "json": {
            "message": "[\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"object\",\n    \"received\": \"undefined\",\n    \"path\": [],\n    \"message\": \"Required\"\n  }\n]",
            "code": -32600,
            "data": {
                "code": "BAD_REQUEST",
                "httpStatus": 400,
            }
        }
    }
}

我将不胜感激有关如何调试和解决此问题的任何见解或建议。如果我可能缺少任何与 tRPC 和 TypeScript 相关的改进或最佳实践,请告诉我。

提前致谢!

JavaScript的 打字稿 next.js 错误处理 TRPC (TRPC)

评论

0赞 Alex Wayne 11/10/2023
您如何调用此终结点?该错误似乎表明,在(输入的根目录)处,它需要一个对象(因为您的输入是 ),而是看到 。这似乎是客户端的问题,而不是服务器端的问题。path: []z.object()undefined

答: 暂无答案