首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nest.js 快速入门:实现对 Mysql 单表的 CRUD

基础 mysql 数据库 Typeorm 首先从离前端比较远的数据库讲起。...Nest.js 结合 Typeorm Typeorm 是做把对象的操作通过 sql 同步对数据库操作的 orm 的,而 Nest.js 是做 Web 后端应用的 MVC 分层以及通过 IOC 管理对象的创建和依赖的... Nest.js 都是做什么的怎么用,简单小结一下: Typeorm 是 ORM 框架,用于把对象的操作同步对数据库的操作,会自动执行 sql 语句。...我们重点来看下 Controller 的代码: import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common...@Get、@Post、@Patch、@Delete 分别对应不同的请求方式。 @Param 是取路径中的参数,@Query 是取查询字符串的参数。

4.1K30

使用 NextJS TailwindCSS 重构我的个人博客

getStaticProps 在构建时请求数据。...}, //当请求进入的时候再次生成文章详情页,比如修改文章重新生成 // 1s 内最多生成1次 revalidate: 1, } } export default Post...Prisma 支持 Mysql、Postgresql Sqlite, 访问官网我们可以很容易的上手,也可以快速的从老项目接入 虽然 Prisma TypeORM 解决了类似的问题,但它们的工作方式却大相径庭...与 TypeORM 对比 TypeORM 是一种传统的 ORM,它将表映射到模型类。这些模型类可用于生成 SQL 迁移。然后,模型类的实例在运行时应用程序的 CRUD 查询提供一个接口。...Prisma CRUD 查询由 Prisma Client 提供,这是一个针对 Node.js TypeScript 的轻量级且完全类型安全的数据库客户端。

2.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

使用 NextJS TailwindCSS 重构我的博客

getStaticProps 在构建时请求数据。...}, //当请求进入的时候再次生成文章详情页,比如修改文章重新生成 // 1s 内最多生成1次 revalidate: 1, } } export default Post...Prisma 支持 Mysql、Postgresql Sqlite, 访问官网我们可以很容易的上手,也可以快速的从老项目接入 虽然 Prisma TypeORM 解决了类似的问题,但它们的工作方式却大相径庭...与 TypeORM 对比 TypeORM 是一种传统的 ORM,它将表映射到模型类。这些模型类可用于生成 SQL 迁移。然后,模型类的实例在运行时应用程序的 CRUD 查询提供一个接口。...Prisma CRUD 查询由 Prisma Client 提供,这是一个针对 Node.js TypeScript 的轻量级且完全类型安全的数据库客户端。

2.3K20

学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

// 可以匹配到 post请求,http://localhost:9080/app/list @Post("list") create():string{...} // 2.通配符路径...这里要提一个关于路由匹配时的注意点, 当我们有一个put请求,路径/app/list/user,此时,我们在app.controller.ts控制器文件中增加一个方法: @Put("list/user...)模块作为案例, 实现文章简单的CRUD,带大家熟悉一下这个过程。...CRUD 好了,接下来就进行数据操作,前面我们说通过代码来建表, TypeORM是通过实体映射到数据库表,所以我们先建立一个文章实体PostsEntity,在posts目录下创建posts.entity.ts...什么意思呢, 通俗来讲就是,对请求接口的入参进行验证转换的前置操作,验证好了我才会将内容给到路由对应的方法中去,失败了就进入异常过滤器中。

12.6K54

学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

// 可以匹配到 post请求,http://localhost:9080/app/list @Post("list") create():string{...} // 2.通配符路径...这里要提一个关于路由匹配时的注意点, 当我们有一个put请求,路径/app/list/user,此时,我们在app.controller.ts控制器文件中增加一个方法: @Put("list/user...)模块作为案例, 实现文章简单的CRUD,带大家熟悉一下这个过程。...CRUD 好了,接下来就进行数据操作,前面我们说通过代码来建表, TypeORM是通过实体映射到数据库表,所以我们先建立一个文章实体PostsEntity,在posts目录下创建posts.entity.ts...什么意思呢, 通俗来讲就是,对请求接口的入参进行验证转换的前置操作,验证好了我才会将内容给到路由对应的方法中去,失败了就进入异常过滤器中。

9.7K11

20. 精读《Nestjs》

Components 一般用于做 Services,比如将数据库 CRUD 封装在 Services 中,每个 Service 就是一个 Component。...UsersController { @Get('users') getAllUsers() {} @Get('users/:id') getUser() {} @Post...3.1 Typeorm 有了如此强大的后端框架,必须搭配上同等强大的 orm 才能发挥最大功力,Typeorm 就是最好的选择之一。...至于类型,Typeorm 通过反射,拿到了类型定义,自动识别 id 数字类型、name 字符串类型,当然也可以手动设置 type 参数。...这带来的好处就是,我们放心执行任何 CRUD 语句,完全不需要做错误处理,当校验失败或者数据库操作失败时,会自动终止执行后续代码,并返回给客户端友好的提示: @Post() async add( @

3.9K20

RESTful简介

400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...get/post/put/deleteCRUD操作 面向资源,一目了然,具有自解释性。 数据描述简单,一般以xml,json做数据交换。...适合CRUD并且只适合CRUD,有的浏览器可能不支持POST、GET之外的提交方式,要特殊处理,API容易给让误解中能进行增、删、查、改等操作。...CRUD:是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)删除(Delete)几个单词的首字母简写。

86420

有了 Prisma,就别用 TypeORM

当你使用 userRepository.findOne({ where: { id: null } }) 时,从开发者的预期来看所返回的结果应该为 null 才对,但结果却是大跌眼镜,结果所返回的是 user...我举几个例子: 在 TypeORM 中,你需要 select 选择某个实体的几个字段,你可以这么写 你会发现 post 对象的类型提示依旧还是 postEntity,没有任何变化。...但从开发者的体验角度而言,**既然我选择查询 id title 两个字段,那么你所返回的 post 类型应该也只有 id 与 title 才更符合预期。...**而后续代码中由于允许 post 有 body 属性提示,那么 post.body null 这样不必要的结果。...许多涉及多表的 CRUD操作可以通过一条简洁的表达式来完成,而在使用 TypeORM 时,常常需要编写繁琐臃肿的 queryBuilder。

1.4K22

RESTful规范

POST一般向“资源集合”型uri发起 POST/animals  //新增动物 POST/zoos/1/employees //id1的动物园雇佣员工 PUT:更新单个资源(全量),客户端提供完整的更新后的资源...安全性 幂等性 GET √ √ POST × × PUT × √ DELETE × √ 安全性幂等性均不保证反复请求能拿到相同的response。...§200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 §201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。...§400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...各HTTP方法成功处理后的数据格式: · response 格式 GET 单个对象、集合 POST 新增成功的对象 PUT/PATCH 更新成功的对象 DELETE 五、错误处理 1.

2K00

使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由HTTP方法

这里对应的HTTP方法是POSTPOST请求的参数通常存放在请求的body里面,所以公司的信息就放在了body里面。...HTTP 用来表示更新信息的方法是 PATCH,所以整个请求PATCH api/companies/{companyId}。注意PATCH表示对资源进行局部更新。...POST一样,PATCH的参数也位于请求的body里面。例如,如果你想更新公司的名称,那么就要把新的公司名称放在body里面。 PATCH请求无需返回任何东西。... POST 一样,PUT的参数也位于请求的body里面。 如果是替换现有资源,那么无需返回任何东西;但如果是创建资源的操作,就应该返回新创建的资源。...例如,DELETE api/companies/12 并不意味着id12的公司信息从数据库中被删除了,也许只是把该公司的信息的状态设置deleted而已。

1.2K10

混搭 TypeScript + GraphQL + DI + Decorator 风格写 Node.js 应用

前端内部写的后端应用基本上功能并不会太多(太专业的后端服务交给后端开发来做),绝大部分是基础的操作,在这样的情况下会涉及到很多重复工作量要做,基本都是一样的套路: 初始化项目脚手架 数据库的连接操作 + CRUD...这两种模式没有谁比谁好之分,只有适不适合之别: 简单的 CRUD、试水型的 Demo 项目,用 Active Records 模式的 ORM 框架更好 业务流程规则较多的、成熟的项目改造用 Data...不同于现有的所有其他 JavaScript ORM 框架,TypeORM 支持 Active Record Data Mapper 模式(在我这次写的项目中,使用的是 Active Record...小结 距离上次写 Node.js 后台应用有段时间了,当时的技术栈现在的没法比,现在尤其得益于使用 Decorator(装饰器语法) + DI(依赖注入)风格写业务逻辑,再搭配使用 typeorm (...参考文章 ORM 实例教程:阮一峰教程,解释 ORM,通俗易懂 架构模式中的 Active Record Data Mapper 什么是 ActiveRecord 模式 typeorm数据库ORM框架中文文档

3.3K20

RESTful 接口实现简明指南

REST 对请求的约定 REST 用来规范应用如何在 HTTP 层与 API 提供方进行数据交互;在现阶段,你应该已经很熟悉 GET POST 请求;甚至有可能因为受限于后端框架限制等原因,你的整个应用全都是用这两种...请求的方法 在很多系统中,几乎只用 GET POST 方法来完成了所有的接口操作;这个行为类似于全用 DIV 来布局。...实际上,我们不只有GET POST 可用,在 REST 架构中,有以下几个重要的请求方法:GET,POST,PUT,PATCH,DELETE。这几个方法都可以与对数据的 CRUD 操作对应起来。...POST /api/users { "name": "John Snow" } 【Update】资源的更新,用于更新的 HTTP 方法有两个,PUT PATCH。...比如下面这面这个接口就表示搜索 ID 123 的图书馆的书,并且书的信息里包含关键字「game」,返回前十条满足条件的结果。 GET /api/libraries/123/books?

1.1K10

基于 Nest.js+TypeORM 实战,项目已开源,推荐!

数据表关系 前面文章中已经说了TypeORM建表时,是通过@Entity()装饰的class 映射数据表, 所以实体中的关系也就是表关系。...接下来探索一下如何用TypeORM创建一对一、一对多多对多的关系。 一对一 一对一指的是表中一条数据仅关联另外一个表中的另一条数据。例如用户表用户档案表, 一个用户只有一份档案。...我们在TypeORM中如何实现user表info之间这种对一对的关系呢?...,其中UserCategory与 Post是一对多关系,而Tag与Post是多对多。...然后需要对分类标签的插入进行处理,同时还需要判断status是草稿draft还是发布publish, 如果是publish,需要设置publishTime当前时间。

10.8K41

RESTful 接口实现简明指南

REST 对请求的约定 REST 用来规范应用如何在 HTTP 层与 API 提供方进行数据交互;在现阶段,你应该已经很熟悉 GET POST 请求;甚至有可能因为受限于后端框架限制等原因,你的整个应用全都是用这两种...请求的方法 在很多系统中,几乎只用 GET POST 方法来完成了所有的接口操作;这个行为类似于全用 DIV 来布局。...实际上,我们不只有GET POST 可用,在 REST 架构中,有以下几个重要的请求方法:GET,POST,PUT,PATCH,DELETE。这几个方法都可以与对数据的 CRUD 操作对应起来。...POST /api/users { "name": "John Snow" } 【Update】,资源的更新。用于更新的 HTTP 方法有两个,PUT PATCH。...比如下面这面这个接口就表示搜索 ID 123 的图书馆的书,并且书的信息里包含关键字「game」,返回前十条满足条件的结果。 GET /api/libraries/123/books?

88910
领券