📜  从印度起飞的航班 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:21:56.267000             🧑  作者: Mango

从印度起飞的航班 - TypeScript

这是一个使用 TypeScript 编写的航班管理系统,用于从印度起飞的航班的管理。该系统提供了以下功能:

  • 添加航班信息
  • 查看航班信息
  • 修改航班信息
  • 取消航班
  • 搜索航班
技术栈
  • TypeScript:TypeScript 是一种语言, 它是 JavaScript 的一个超集, 并包含了 JavaScript 的所有功能。它提供了静态类型检查以及更好的 IDE 支持,使得代码更加可靠,易于维护。
  • Node.js:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,能够让 JavaScript 运行在服务器端,方便地构建高性能、可扩展的网络应用程序。
  • Express:Express 是一个快速、开放、极简的 web 框架,提供了丰富的 HTTP 工具和中间件,是构建 Web 应用程序的首选方案之一。
  • MongoDB:MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,具有高性能、高可用性和高扩展性等特点。
安装说明
  1. 克隆仓库

    git clone https://github.com/your-username/your-repo
    
  2. 安装依赖

    cd your-repo
    npm install
    
  3. 启动应用

    npm run dev
    
代码示例

下面是添加航班信息的代码示例:

import { Request, Response } from 'express';
import Flight from '../models/flight';

// 添加航班信息
export const addFlight = async (req: Request, res: Response) => {
  const { flightNo, airline, departure, arrival, status } = req.body;

  if (!flightNo || !airline || !departure || !arrival || !status) {
    res.status(400).send({ message: 'Required fields missing.' });
    return;
  }

  try {
    const flight = new Flight({
      flightNo,
      airline,
      departure,
      arrival,
      status,
    });

    await flight.save();

    res.status(201).send({ message: 'Flight added successfully.' });
  } catch (error) {
    console.error(error);
    res.status(500).send({ message: 'Server error.' });
  }
};

该函数使用 async/await 异步编程模型,使用 RequestResponse 对象来处理请求和响应。它从请求体中解构出航班信息,检查是否有任何所需字段丢失,并创建一个新的 Flight 对象。如果一切顺利,该函数将返回一个成功响应,否则它将返回一个错误响应。