首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用自定义后端API安全地使用Typescript

如何使用自定义后端API安全地使用Typescript
EN

Stack Overflow用户
提问于 2021-10-17 14:18:43
回答 3查看 77关注 0票数 1

我在我的应用程序中使用了API端点路由。在这些端点中,关于数据的http请求由后端在PRISMA ORM的帮助下处理。

然而,我不得不为前端使用其他东西,并开始编写类似于我的后端类型的typescript类型。这是非常违反直觉的,来自编程语言,如haskell或其他类型语言。

似乎端点位于中间,并且是未来可能出现的各种不兼容性的来源。因为现在我有3个故障点,端点、API和前端typescript类型(这些类型甚至在运行时都没有编译和可用)。

有没有一种更类型安全的方法来解决中间端点问题?

我看过几个晦涩难懂的全栈项目,比如Urweb和不那么晦涩的Django,但它们缺乏一种富有表现力的模板语言,比如Svelte或Vue。有没有其他方法可以自动生成类型安全的api端点代码?

EN

回答 3

Stack Overflow用户

发布于 2021-10-17 14:51:17

这似乎是一个单一的真理来源的问题。

例如:你可以从模式生成类型(比如从Swagger或Prisma本身)。或者甚至从Typeorm之类的类型生成模式。

有像swagger-typescript-apiswagger-typescript-codegen这样的工具可以生成代码来执行请求并解析它们

票数 1
EN

Stack Overflow用户

发布于 2021-11-10 13:16:09

我不是通过在前端生成类型来解决这个问题,而是通过

  1. 简化了Prisma模式文件,因此我不需要复杂的类型
  2. 在后端创建帮助函数绕过用作前端和后端之间网关的长数据库queries
  3. writing Svelte路由端点,在前端调用仅使用@prisma/client.

中的类型定义提供的标量类型信息的后端帮助程序functions

  • writing简单帮助程序函数

剩下的最大困难是保持前端、端点和后端的独立性和可维护性。

票数 0
EN

Stack Overflow用户

发布于 2021-12-30 10:16:21

注:我是Remult的作者之一

您可以使用Remult从TypeScript模型类创建类型安全的API端点,而无需生成任何代码。它还有一个API客户端,你可以直接从前端代码中使用它来查询和操作数据,而不需要任何辅助函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69605229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档