3-5 作业

来源:3-5 CLI初试:启动 Nest 应用程序 + 创建控制器

云荒618

2024-03-07

import { Controller, Get, Post, Query } from '@nestjs/common';
import { UserService  } from './user.service';

@Controller('range')
export class UserController {
  constructor(private userService: UserService) {}
  
  @Get()
  getRange(@Query() query: any): any {
    return this.userService.getRange(query.num);
  }
}
import { Injectable } from '@nestjs/common';

@Injectable()
export class UserService {
  getRange(num) {
    if(isNaN(num)){
      return {
        code: 1,
        data: [],
        msg: '参数错误'
      }
    }
    const list = [];
    for (let i = 1; i <= num; i++) {
      list.push(String(i));
    }
    return {
      code: 0,
      data: list,
      msg: '请求成功'
    };
  }
}
写回答

2回答

Brian

2024-03-25

是的,浏览器中显示的是数字:

https://img1.sycdn.imooc.com/szimg/6600e14b0967675522840462.jpg


但是你要看看你的nestjs中显示的是什么?

https://img1.sycdn.imooc.com/szimg/6600e17409e0fec316470618.jpg

你的逻辑能走通的原因是:

https://img1.sycdn.imooc.com/szimg/6600e19209bbb5c406680158.jpg

这个<=符号给你强转了。

0
0

Brian

2024-03-08

你自己有没有测试过上面的代码?

query.num这里默认是 string


const numParsed = parseInt(num, 10); // 将字符串转换为数字

转换一下,或者使用 Pipe.

同时,对于判断条件也要加入一个新的判断:

if (isNaN(num) || num < 1 || !Number.isInteger(num)) { // 增强参数校验


0
1
云荒618
测试过浏览器显示数组中的元素是数字
2024-03-08
共1条回复

NestJS 入门到实战 前端必学服务端新趋势

近几年快速发展的Node.js框架,掌握未来前端工程师后端开发能力

569 学习 · 238 问题

查看课程

相似问题

3-5 交作业

回答 1

3-5 作业提交

回答 1

3-5 作业

回答 1

3-5 作业

回答 1

3-5 作业

回答 1