IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    新手入门Nest.js(五)- 控制器Request

    Durban发表于 2020-09-27 22:47:59
    love 0

    一个控制器的目的是接收来自应用的一个请求

    那么如何来处理这个请求,以及如何接收一个请求

    Nest.js提供了一个Request Object

    先看下之前写的一个例子

    import { Controller, Get, Render, Res } from '@nestjs/common';
    
    @Controller('cats')
    export class CatsController {
      @Get()
      findAll(): string {
        return 'This action will returns all cats';
      }
    }
    

    我们想知道如何在这个例子中获取request中的参数

    修改代码如下

    import { Controller, Get, Render, Req, Request } from '@nestjs/common';
    
    @Controller('cats')
    export class CatsController {
      @Get()
      findAll(@Req() request: Request): string {
        return 'This action will returns all cats';
      }
    }
    

    http obejct包括了所有http的属性,比如http query 参数、http header、body、parameters等

    但是在Nest.js中已经提供了专用的装饰器比如@Body、@Query等

    其他的罗列在下面了

    @Request() req
    @Response(), @Res()* res
    @Next() next
    @Session() req.session
    @Param(key?: string) req.params / req.params[key]
    @Body(key?: string) req.body / req.body[key]
    @Query(key?: string) req.query / req.query[key]
    @Headers(name?: string) req.headers / req.headers[name]
    @Ip() req.ip


沪ICP备19023445号-2号
友情链接