
Prisma tRPC Generator快速入门10分钟搭建完整CRUD API【免费下载链接】prisma-trpc-generatorPrisma 2 generator to emit fully implemented tRPC routers项目地址: https://gitcode.com/gh_mirrors/pr/prisma-trpc-generatorPrisma tRPC Generator是一款强大的Prisma生成器能够自动生成完整实现的tRPC路由帮助开发者快速构建类型安全的CRUD API。通过自动化代码生成它大幅减少了重复工作让你专注于业务逻辑而非基础架构。为什么选择Prisma tRPC Generator在现代Web开发中构建API往往需要编写大量重复的CRUD代码。Prisma tRPC Generator通过以下方式解决这一痛点类型安全利用TypeScript的类型系统确保API输入输出类型一致自动生成从Prisma模型自动生成完整的tRPC路由和Zod验证模式减少样板代码消除手动编写CRUD操作的需要无缝集成与Prisma和tRPC生态系统完美融合该工具特别适合需要快速开发API的项目无论是小型应用还是大型企业系统。安装与基本配置环境要求Node.js 20.19.0或更高版本Prisma 7.0.0或更高版本tRPC服务器 11.7.1或更高版本安装步骤首先通过npm安装Prisma tRPC Generatornpm install prisma-trpc-generator --save-dev或者使用pnpmpnpm add prisma-trpc-generator -D配置Prisma在你的Prisma模式文件(prisma/schema.prisma)中添加生成器配置generator trpc { provider node ./lib/generator.js output ./generated config ./trpc.config.json }创建你的第一个Prisma模型让我们创建一个简单的用户模型作为示例。在Prisma模式文件中添加model User { id Int id default(autoincrement()) /// zod.email() email String unique /// zod.min(1).max(100) name String? posts Post[] } model Post { id Int id default(autoincrement()) createdAt DateTime default(now()) title String content String? author User? relation(fields: [authorId], references: [id]) authorId Int? }注意模型中的特殊注释/// zod.email()和/// zod.min(1).max(100)这些会被用于生成Zod验证规则。生成tRPC路由配置完成后运行Prisma生成命令npx prisma generate该命令会读取你的Prisma模型并在指定的输出目录(prisma/generated)中生成完整的tRPC路由。生成的路由包含所有常见的CRUD操作如创建、读取、更新和删除。下面是生成的路由示例使用生成的路由生成路由后你可以在tRPC应用中直接使用它们。以下是一个基本示例import { router } from ./trpc; import { userRouter } from ./prisma/generated/user/router; import { postRouter } from ./prisma/generated/post/router; export const appRouter router({ user: userRouter, post: postRouter, }); export type AppRouter typeof appRouter;现在你已经拥有了完整的CRUD API包括用户的创建、查询、更新和删除帖子的创建、查询、更新和删除自动生成的Zod验证类型安全的输入输出自定义生成配置Prisma tRPC Generator提供了丰富的配置选项你可以通过prisma/trpc.config.json文件进行自定义{ routes: { create: true, read: true, update: true, delete: true }, shield: { enabled: true } }通过配置文件你可以启用或禁用特定操作配置权限控制以及自定义生成行为。实际应用示例基本查询操作// 获取所有用户 const users await trpc.user.findMany.query(); // 获取单个用户 const user await trpc.user.findById.query({ id: 1 });创建新记录const newUser await trpc.user.create.mutate({ data: { email: userexample.com, name: John Doe } });更新记录const updatedUser await trpc.user.update.mutate({ where: { id: 1 }, data: { name: Jane Doe } });删除记录const deletedUser await trpc.user.delete.mutate({ id: 1 });高级功能权限控制Prisma tRPC Generator与trpc-shield无缝集成允许你定义细粒度的权限规则。配置文件位于prisma/shield.ts。中间件支持你可以通过prisma/middleware.ts添加自定义中间件实现日志记录、请求验证等功能。多租户支持对于需要多租户功能的应用可以参考示例examples/use-services-tenancy.ts。测试你的API项目提供了完整的测试套件你可以通过运行以下命令来验证生成的APIpnpm test测试文件位于tests/目录涵盖了各种功能测试包括认证、中间件、路由生成等。总结Prisma tRPC Generator是一个强大的工具它通过自动生成类型安全的tRPC路由显著加速了API开发过程。通过本文介绍的步骤你可以在10分钟内搭建起完整的CRUD API而无需编写大量样板代码。无论你是构建新应用还是重构现有项目Prisma tRPC Generator都能帮助你提高开发效率同时确保代码质量和类型安全。现在就尝试使用它体验快速开发API的乐趣吧【免费下载链接】prisma-trpc-generatorPrisma 2 generator to emit fully implemented tRPC routers项目地址: https://gitcode.com/gh_mirrors/pr/prisma-trpc-generator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考