Nest操作记录

使用 CLI 创建模块

$ nest g module XXX

使用 CLI 创建控制器

$ nest g controller XXX --no-spec//不生成测试文件

使用 CLI 创建service

nest g service test --no-spec

设置全局前缀

app.setGlobalPrefix('api');

get 和 post 接口

test.service.ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class TestService {
  getTest(){
    return {
      code: 0,
      data: '000',
      msg: '访问成功'
    }
  }

  addTest(){
    return {
      code: 200,
      data: '000',
      msg: '访问成功'
    }
  }

  getTestById(id:number){
    let reJson:any = {}
    switch (id) {
      case 1:
        reJson = {id:1,msg:'test1'}
        break;

      case 2:
        reJson = {id:2,msg:'test2'}
        break;
      case 3:
        reJson = {id:3,msg:'test3'}
        break;
    }
    return reJson;
  }

  addByData(data:any){
    return {
      code: 200,
      data,
      msg: '访问成功'
    }
  }
}

test.controller.ts

import { Controller, Get ,Post,Request,Query,Body} from '@nestjs/common';
import {TestService} from './test.service'

@Controller('test')
export class TestController {

  constructor(private testService:TestService) {

  }

  @Get()
  getTest():any{
    return this.testService.getTest();
  }

  @Post('/add')
  addTest():any{
    return this.testService.addTest()
  } 

  @Get('/getTestById')
  getTestById(@Query() query):any{
    //@Request() req -> @Query() query
    //req.query -> query

    //通过 Request 得到字符串效果,需要 parseInt
    let id:number = parseInt(query.id)
    return this.testService.getTestById(id)
  }

  @Post('/addByData')
  addByData(@Body() body):any{
    return this.testService.addByData(body);
  }
}

动态路由(?id -> /id)

 @Get('/findTestById/:id')
    // :id 后面可以多个拼接  /:name/:age
  findTestById(@Request() req):any{
    //@Request() req -> Param params
    //req.params -> params
    let id:number = parseInt(params.id)
    return this.testService.getTestById(id)
  }

获取请求头

import { Headers} from '@nestjs/common';
@Get('/findTestById/:id')
  findTestById(@Param() params,@Headers header):any{
    let id:number = parseInt(params.id)
    return this.testService.getTestById(id)
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值