You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Node.js+Express构建员工查询与邮件发送API的技术咨询

问题描述

我需要构建一个简单API,计划采用Node.js搭配Express框架实现,具体需求如下:

  • 通过GET请求,根据ID或姓名从JSON列表中查询员工信息;
  • 通过POST请求,使用员工信息填充通用HTML模板,同时生成对应的JSON数据;
  • 将填充后的模板内容发送邮件。

提供的员工JSON示例(已修正语法错误):

{
    "employee": [
        {
            "id":"11",
            "name": "Giselle",
            "town": "texas"  
        },
        {
            "id":"22",
            "name": "Mike",
            "town": "texas"  
        }
    ]
}

邮件模板示例:"Dear {{name}}, your ID:{{id}} and so on"

目前我已安装Node.js并运行了简单服务器,拥有对应的JSON文件,准备编写JavaScript实现简单GET请求,但疑惑API是简单js文件还是JSON文件?

解答

API不是单纯的JSON文件,而是用JavaScript(Node.js+Express)编写的服务器端脚本文件,原因如下:

  • JSON文件只是静态数据存储载体,无法处理HTTP请求(比如根据参数筛选查询、处理POST逻辑),也不能执行模板填充、发送邮件这类动态业务操作。
  • 你需要编写一个.js文件作为Express服务的入口,在里面定义GET/POST路由接口,读取JSON文件中的员工数据,处理请求参数,完成查询、模板渲染、邮件发送等核心逻辑。

举个简单的GET接口实现示例:

const express = require('express');
const fs = require('fs');
const app = express();
const port = 3000;

// 读取本地员工JSON数据
const employeesData = JSON.parse(fs.readFileSync('./employees.json', 'utf8'));

// GET接口:根据ID或姓名查询员工
app.get('/api/employees', (req, res) => {
    const { id, name } = req.query;
    let result = employeesData.employee;
    
    if (id) {
        result = result.filter(emp => emp.id === id);
    } else if (name) {
        result = result.filter(emp => emp.name.toLowerCase() === name.toLowerCase());
    }
    
    res.json(result);
});

app.listen(port, () => {
    console.log(`Server running on port ${port}`);
});

简单总结:JSON文件是你的数据仓库,JavaScript文件是处理API请求、衔接数据与业务逻辑的核心载体。

内容的提问来源于stack exchange,提问作者MingNi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 22:03:23