当前位置: 首页 > news >正文

重庆有专业做网站的吗今日财经新闻

重庆有专业做网站的吗,今日财经新闻,如何入驻微信小程序,最新公司起名大全免费tRPC (Type-safe Remote Procedure Call) 是一个用于构建类型安全的 API 的框架,它能够在前端和后端之间共享类型,确保类型安全性。这对于使用 TypeScript 的项目特别有用,因为它消除了前后端类型不一致的问题,提高了开发效率和代…

tRPC (Type-safe Remote Procedure Call) 是一个用于构建类型安全的 API 的框架,它能够在前端和后端之间共享类型,确保类型安全性。这对于使用 TypeScript 的项目特别有用,因为它消除了前后端类型不一致的问题,提高了开发效率和代码质量。

trpc也可以集成到 Express, Fastify,Next中。Example Apps | tRPC

server/index.ts

import { createHTTPServer } from '@trpc/server/adapters/standalone';
import { appRouter } from './router';
import cors from 'cors';const server = createHTTPServer({middleware: cors(),router: appRouter,
});server.listen(3000, () => {console.log("server running on 127.0.0.1:3000");
});

server/router.ts

import { initTRPC } from '@trpc/server';
import { z } from 'zod';
const t = initTRPC.create();export const router = t.router;
export const publicProcedure = t.procedure;// 将定义类型传递给客户端
export type AppRouter = typeof appRouter;export const appRouter = router({// 查询userList: publicProcedure// 挂载中间件.use(async (opts) => {console.log('middleware1!');return opts.next();}).use(async (opts) => {console.log('middleware2!');return opts.next();})// 定义响应数据类型.output(z.array(z.object({id: z.number(),name: z.string(),age: z.number(),})),).query(async () => {return [{ id: 1, name: "Tom", age: 21 }];}),// 参数查询userById: publicProcedure// 定义接收参数类型.input(z.string()).query(async (opts) => {const { input } = opts;console.log("userById receive params:", input);return 'ok';}),// 修改userCreate: publicProcedure.input(z.object({ name: z.string() })).mutation(async (opts) => {const { input } = opts;console.log("userCreate receive params:", input);return 'update';}),
});

client.ts

import { createTRPCClient, httpLink, httpBatchLink, loggerLink } from '@trpc/client';
import type { AppRouter } from '../server/router';// httpBatchLink 也能单独发送请求,会进行一定会时间等待
const trpc = createTRPCClient<AppRouter>({links: [loggerLink({ enabled: (_opts) => false, }),httpBatchLink({url: 'http://localhost:3000',}),httpLink({url: 'http://localhost:3000',})],
});// const list=await trpc.userList.query();
// console.log(list);// 发送条件查询
const user = await trpc.userById.query('1');
console.log(user);// 发送修改请求
const createdUser = await trpc.userCreate.mutate({ name: 'sachinraja' });
console.log(createdUser);// const user2 = await trpc.userById.query(123);
// console.log(user2);// const createdUser2 = await trpc.userCreate.mutate({ name:"123", age: 21 });
// console.log(createdUser2);

http://www.ds6.com.cn/news/92169.html

相关文章:

  • 域名连接到网站怎么做网站性能优化
  • 牛商网网站做seo好么cilimao磁力猫最新版地址
  • 怎样通过网盘做电影网站宁波网站seo诊断工具
  • 优秀自适应网站建设哪家好武汉关键词排名提升
  • 网站开发架构师su搜索引擎优化
  • 网站开发服务费如何做一个网站
  • 营销型公司网站建设百度网址大全旧版
  • 吉林省建设部网站成都网站快速排名
  • 西安网站建设设计seo网站优化优化排名
  • 那种系统做网站比较好网络广告形式
  • 网站建设落地页长尾关键词是什么
  • 白银市做网站小程序开发制作
  • wordpress主页定制seo推广灰色词
  • 二维码生成器在线制作图片电商seo优化
  • 网站跳出的广告是怎么做的网络推广员具体做什么的
  • 江干建设局网站上海优化公司选哪个
  • 山西太原做企业网站建设的公司长沙电商优化
  • 网站开发摘要周口seo公司
  • 帮别人做高仿产品网站 违法么百度竞价开户流程
  • wordpress 相册 主题拼多多seo怎么优化
  • 成都网站建设费用国内b站不收费网站有哪些
  • 东莞网站建设应该怎么做百度指数如何分析
  • 鄞州网站制作长沙seo网络优化
  • 如何设计自己公司网页seo公司发展前景
  • 广州市 网站建设建设怎么样推广最有效最快速
  • 怎么建设外贸网站百度账号注册入口
  • 大学 两学一做专题网站seo外链工具有用吗
  • 无锡在线制作网站公司的公关
  • 网站建设与设计方案网络营销推广要求
  • 动漫网站设计源代码qq群怎么优化排名靠前