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

网站备案号添加网站投放广告多少钱

网站备案号添加,网站投放广告多少钱,电子商务网站策划 ppt,东莞樟木头网站设计在此之前我们用到的请求都是get请求,接下来我们使用post 请求 并接收参数,通过 Body 装饰器来取注意:post请求带参数 我们通过游览器路径是直接请求不了的 需要使用postman 来发 post 请求postman 下载网站 https://www.postman.com/download…


在此之前我们用到的请求都是get请求,接下来我们使用post 请求 并接收参数,通过 @Body 装饰器来取
注意:post请求带参数 我们通过游览器路径是直接请求不了的 需要使用postman 来发 post 请求
postman 下载网站 https://www.postman.com/downloads

首先 post 请求参数 我们需要通过一个dto class 来接收,
先创建一个 dto class 名称:test.dto.ts

export class TestDto {id: number;name: string;age: number;
}

增加post接口:

@Post('postTest')postTest(@Body() obj: TestDto) {console.log(obj);return '调用成功'}

使用postman调用接口 传参数
1719146719945.png
可以看到控制台接收了JSON数据1719146735879.png
我们再调用接口 age参数传11.23 也能调用成功 但是我在dto定义的时候 只定义了age 为number 但是传浮点数也能传,这个可能会导致后面的逻辑错误,所以就需要用到 ValidationPipe
1719146772995.png
我们需要2个包:

npm install class-validator class-transformer

修改postTest 接口 在body接收参数使用 ValidationPipe

@Post('postTest')postTest(@Body(new ValidationPipe()) obj: TestDto) {console.log(obj);return '调用成功'}

接着我们在test.dto.ts进行修改:

import { IsInt } from "class-validator";export class TestDto {id: number;name: string;@IsInt()age: number;
}

再次请求 可以发现报错了
1719147134135.png
我们使用的 @IsInt() 是来自于 class-validator,
class-validator提供了基于装饰器声明的规则对对象做校验的功能
class-transformer 是把一个普通对象转换为某个 class 的实例对象
以上两者结合实现了 ValidationPipe

流程如下:
我们创建了一个dto类 ----> 接着在pipe拿到类 将参数通过class-transformer 转换为 dto 类的对象,最后使用class-validator 包来对这个对象做验证

我们可以自己来实现ValidationPipe 类:

nest g pipe my-validation --flat --no-spec
import { ArgumentMetadata, BadRequestException, Injectable, PipeTransform } from '@nestjs/common';
import { plainToInstance } from 'class-transformer';
import { validate } from 'class-validator';@Injectable()
export class MyValidationPipe implements PipeTransform<any> {async transform(value: any, { metatype }: ArgumentMetadata) {if (!metatype) {return value;}const object = plainToInstance(metatype, value);const errors = await validate(object);if (errors.length > 0) {throw new BadRequestException('参数验证失败');}return value;}
}

metatype 拿到的就是下面 TestDto ,如果没有声明Dto则无法进行转换和验证
1719148127975.png
如果有metatype则进行下一步通过 class-transformer 的 plainToInstance 把普通对象转换为 dto class 的实例对象
最后进行验证 调用 class-validator 包的 validate api
我们来使用看一下效果:

@Post('postTest')postTest(@Body(new MyValidationPipe()) obj: TestDto) {console.log(obj);return '调用成功'}

再次调用
1719148463518.png
可以发现检测出了错误 当然以上只是个例子 并不完善 所以使用的时候还是所以内置的 ValidationPipe

http://www.yayakq.cn/news/914894/

相关文章:

  • wordpress 网站播放器插件自己怎么设计公司标志
  • 网站博客程序阿里云网站建设模板
  • 网站域名设计推荐企业建设营销型网站的目的有
  • 新手如何入侵一个网站wamp搭建wordpress
  • 旅行网站开发背景漳州网站开发找出博大科技
  • 人才交流网站建设与设计网页设计下载方式
  • 专题探索网站开发教学模式的结构网站开发工程师面试试题
  • 本地建站软件有哪些住房和城乡建设部执业资格注册中心网站
  • 传媒公司网站源码php网页后端开发需要学什么
  • 360网站提交入口地址中铁建设集团华东分公司网站
  • 网站建设的安全威胁一级域名建站网站建设行吗
  • 公司建设网站需求分析报告wordpress 织梦 米拓
  • 网站建设一般用什么编程专业做调查的网站
  • 运动服饰网站建设需求分析北京网站建设学校
  • 网站开发相关职业岗位微信导购网站怎么做视频教学
  • 做壁画的网站互联网公司排名2024中国
  • 12306网站为什么做不好网站平台延展性
  • 专业手机网站设计网站制作公司十强
  • oppo网站建设做网站需要哪些知识
  • 做网站推广链接该怎么做官网首页优化
  • 免费发布租房信息网站网站建设专业课程
  • 网站建设开发有限公司天津seo结算
  • 线切割加工东莞网站建设技术支持wordpress 静态化 cos
  • php网站开发防注入开发公司退房款代理词
  • 浙江省建设协会网站前端网站页面模板
  • 上海建设工程施工许可证查询网站旅游网站的规划与建设开题报告
  • 在别的公司做的网站可以转走吗装修公司全包项目
  • 湖州品牌网站设计陕西旅游必去十大景点
  • 怎么优化网站排名才能起来投资做网站
  • 做门窗可以放什么网站网站设计步骤及图解