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

ghnhmgkjfcg
2022-11-15
// user.controller
import { Controller, Get, Query } from '@nestjs/common';
import { UserService, GetNumber } from './user.service';
@Controller('user')
export class UserController {
constructor(private readonly UserService: UserService) {}
@Get()
getUsers(): any {
return {
code: 0,
data: [],
msg: '请求成功',
};
}
@Get('/range')
getNum(@Query() query: { num: string }): GetNumber {
return this.UserService.getNumber(query.num);
}
}
//user.service
import { Injectable } from '@nestjs/common';
export interface GetNumber {
code: number;
msg: string;
data: string[];
}
@Injectable()
export class UserService {
getNumber(num: string): GetNumber {
const regExp = /^[0-9]*[1-9][0-9]*$/;
if (!regExp.test(num)) {
return {
code: 5000,
msg: '请求失败,请输入正整数',
data: [],
};
}
const arr: string[] = [];
for (let i = 1; i <= Number(num); i++) {
arr.push(String(i));
}
return {
code: 0,
msg: '请求成功',
data: arr,
};
}
}
写回答
3回答
-
zakerking1991
2023-03-18
import { Controller, Get, Req } from '@nestjs/common'; import { Request } from 'express'; import { RangeService } from './range.service'; @Controller('range') export class RangeController { constructor(private readonly rangeService: RangeService) {} @Get('list') getRange(@Req() request: Request): RestResponse<string[]> { return this.rangeService.getRange(request.query); } }
import { Injectable } from '@nestjs/common'; @Injectable() export class RangeService { getRange(query: Record<string, any>): RestResponse<string[]> { const { num } = query; return { success: true, data: !(typeof num === 'string' && /^\d+$/.test(num)) ? undefined : new Array(+num).fill(0).map((_, i) => `${i + 1}`), code: 0, }; } }
112023-03-28 -
前端不搬砖
2022-11-19
111
012023-03-28 -
Brian
2022-11-15
只能给80分,小伙伴,要好好的审题。
if (num == 5)
你这个条件,相当于,把整个后端的逻辑写死了哦~~~
要思考,怎么获取前端的参数(这个部分是需要自学的https://docs.nestjs.cn/,后面也会讲)
022022-11-21