引言:为什么使用TypeScript构建REST API?
现代Web开发离不开创建高效且安全的API。TypeScript作为JavaScript的超集,提供了静态类型检查,这能显著减少运行时错误并提升代码可读性。在本指南中,我们将向您展示如何在30分钟内用TypeScript编写一个功能完备的REST API。您将学习如何配置项目、创建基础端点以及处理错误。本教程非常适合希望快速掌握服务端应用程序构建的初学者开发者。
环境配置与依赖安装
首先,您需要创建一个新项目并安装所有必要的软件包。请确保您已经安装了Node.js(版本18或更高)和npm。
第一步:项目初始化
打开终端并执行以下命令:
mkdir my-rest-apicd my-rest-apinpm init -y第二步:安装TypeScript及依赖
安装TypeScript、Express以及所需的类型声明:
npm install expressnpm install -D typescript @types/node @types/express ts-node nodemon- express — 用于创建服务器的框架。
- typescript — TypeScript编译器。
- @types/express — Express的类型声明。
- ts-node — 用于直接运行TypeScript。
- nodemon — 监测文件变更并自动重启服务器。
第三步:配置tsconfig.json
在项目根目录下创建一个tsconfig.json文件:
{ "compilerOptions": { "target": "ES2020", "module": "commonjs", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true }, "include": ["src/**/*"], "exclude": ["node_modules"]}使用TypeScript创建基础服务器
现在我们来创建文件夹结构和主服务器文件。
第四步:项目结构
创建一个src文件夹和一个src/index.ts文件:
mkdir srctouch src/index.ts第五步:编写服务器代码
打开src/index.ts并添加以下代码:
import express, { Request, Response } from 'express';
const app = express();const PORT = process.env.PORT || 3000;
// 用于解析JSON的中间件app.use(express.json());
// 基础路由app.get('/', (req: Request, res: Response) => { res.send('基于TypeScript的REST API正在运行!');});
// 启动服务器app.listen(PORT, () => { console.log(`服务器运行在端口 ${PORT} 上`);});第六步:在package.json中添加脚本
更新package.json,添加用于开发和构建的脚本:
"scripts": { "dev": "nodemon --exec ts-node src/index.ts", "build": "tsc", "start": "node dist/index.js"}现在使用命令 npm run dev 启动服务器。您应该会看到消息“服务器运行在端口 3000 上”。
实现CRUD端点
让我们创建一个简单的数据模型,并实现创建、读取、更新和删除(CRUD)操作。本示例将使用“任务(Task)”实体。
第七步:创建模型与存储
创建文件 src/models/Task.ts:
export interface Task { id: number; title: string; completed: boolean;}
// 临时内存存储export const tasks: Task[] = [ { id: 1, title: '学习TypeScript', completed: false }, { id: 2, title: '编写REST API', completed: false },];第八步:创建路由
创建文件 src/routes/tasks.ts:
import { Router, Request, Response } from 'express';