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
是的,浏览器中显示的是数字:
但是你要看看你的nestjs中显示的是什么?
你的逻辑能走通的原因是:
这个<=符号给你强转了。
00 -
Brian
2024-03-08
你自己有没有测试过上面的代码?
query.num这里默认是 string
const numParsed = parseInt(num, 10); // 将字符串转换为数字
转换一下,或者使用 Pipe.
同时,对于判断条件也要加入一个新的判断:
if (isNaN(num) || num < 1 || !Number.isInteger(num)) { // 增强参数校验
012024-03-08