3-5练习

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

见信

2023-11-23

common/ResponseResult

type ResponseResultParams<T> = Partial<{
  code: number;
  msg: string;
  data: T;
}>;

class ResponseResult<T = any> {
  code: number;
  msg: string;
  data?: T;
  constructor({ code = 0, msg = '请求成功', data }: ResponseResultParams<T>) {
    this.code = code;
    this.msg = msg;
    if (data) this.data = data;
  }
}

export default ResponseResult;

module

import { Controller, Get, Query } from '@nestjs/common';
import { RangeService } from './range.service';

@Controller('range')
export class RangeController {
  constructor(private rangeService: RangeService) {}

  @Get()
  getRange(@Query('range') range: string) {
    return this.rangeService.getRange(range);
  }
}

service

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

@Injectable()
export class RangeService {
  getRange(range: string): ResponseResult<Array<string>> {
    // 类型转换
    const realRange: number = +range;
    if (isNaN(realRange)) {
      return new ResponseResult({
        code: 1,
        msg: 'range参数请填写数字字符串',
      });
    }

    // 判断是否越界
    if (realRange < 0) {
      return new ResponseResult({
        code: 2,
        msg: 'range参数请填写一个>= 0的数字字符串',
      });
    }

    // 参数正确
    const arr: Array<string> = [];
    if (realRange > 0) {
      for (let i = 1; i <= realRange; i++) {
        arr.push(`${i}`);
      }
    }

    return new ResponseResult({
      data: arr,
    });
  }
}

写回答

1回答

Brian

2023-11-27

代码作业写的不错,100分

继续保持努力,不断提高自己的编程能力。加油!

0
0

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

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

569 学习 · 238 问题

查看课程

相似问题

3-5 作业

回答 1

3-5 作业

回答 1

3-5 作业

回答 1

3-5 作业

回答 2

3-5 交作业

回答 1