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

做宠物店网站的素材横岗做网站公司

做宠物店网站的素材,横岗做网站公司,网站如何伪静态,南宁网站建设lilkj在此之前我们用到的请求都是get请求#xff0c;接下来我们使用post 请求 并接收参数#xff0c;通过 Body 装饰器来取注意#xff1a;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调用接口 传参数可以看到控制台接收了JSON数据我们再调用接口 age参数传11.23 也能调用成功 但是我在dto定义的时候 只定义了age 为number 但是传浮点数也能传这个可能会导致后面的逻辑错误所以就需要用到 ValidationPipe 我们需要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; }再次请求 可以发现报错了 我们使用的 IsInt() 是来自于 class-validator class-validator提供了基于装饰器声明的规则对对象做校验的功能class-transformer 是把一个普通对象转换为某个 class 的实例对象以上两者结合实现了 ValidationPipe 流程如下我们创建了一个dto类 ---- 接着在pipe拿到类 将参数通过class-transformer 转换为 dto 类的对象最后使用class-validator 包来对这个对象做验证 我们可以自己来实现ValidationPipe 类 nest g pipe my-validation --flat --no-specimport { ArgumentMetadata, BadRequestException, Injectable, PipeTransform } from nestjs/common; import { plainToInstance } from class-transformer; import { validate } from class-validator;Injectable() export class MyValidationPipe implements PipeTransformany {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则无法进行转换和验证如果有metatype则进行下一步通过 class-transformer 的 plainToInstance 把普通对象转换为 dto class 的实例对象最后进行验证 调用 class-validator 包的 validate api 我们来使用看一下效果 Post(postTest)postTest(Body(new MyValidationPipe()) obj: TestDto) {console.log(obj);return 调用成功}再次调用可以发现检测出了错误 当然以上只是个例子 并不完善 所以使用的时候还是所以内置的 ValidationPipe
http://www.tj-hxxt.cn/news/140401.html

相关文章:

  • 网站建设的环境巨久科技网站建设
  • 不收费的网站有哪些公司网站制作教程
  • 淄博做网站的公司学网站开发培训班
  • 北京网站建设优化学校哪个网站做的系统好用吗
  • 怎样注册自己网站的域名抖音推广费用标准
  • 单页网站域名提供深圳网站制作公司
  • 开一家做网站的公司wordpress检测
  • 班级网站怎么做ppt平面设计好的网站
  • ps做简洁大气网站中国建设银行安徽省分行网站
  • 公司网站建设规划wordpress4.7更新说明
  • 网站续费公司软件开发培训学校软件开发培训机构
  • 新泰做网站做网站的快捷方式代码
  • 沈阳网站开发技术公司怎么建设网站让国外看
  • 烟台网站制作策划做家旅游的视频网站好
  • 做家装的有没有网站可以找工作企业管理软件管理系统
  • seo网站建设步骤模板网站建设价格
  • 昌平区手机网站制作服务营销咨询
  • 网站关键词多少个字数 站长网国内网站空间
  • 保护动物网站建设策划书江苏五星建设网站
  • 网站的组织与风格设计怎么在阿里云建立网站
  • 怀安县网站建设怎么做ppt教程网站
  • 用织梦做的网站国家官方网站
  • 广州公司核名在哪个网站长沙移动网站建设哪家好
  • 网站性能容量的收集与分析怎么做站长综合查询工具
  • 学网站开发技术中英文网站建设费用
  • 网站正在建设中手机版wordpress tags
  • 网站刚建好怎么做能让百度收录哈尔滨模板建站平台
  • 网站建设都有那些费用网络规划设计师报名入口
  • 东莞网站排名优化公司江苏省建设工程地方标准网站
  • 公司想做个网站应该怎么做php做的一个网站