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

Node.js中如何向Express API接口处理函数传递IATA变量参数

修改步骤

1. 调整api.js的路由定义

你需要在路由中添加IATA参数占位符,Express 会自动把匹配的路径参数挂载到 req.params 对象上,修改后代码如下:

import express from 'express';
const app = express();
import { getWhereToApi} from './lib/handlers.js';
const port = 3000;

// 新增参数占位符:iata,用来接收传入的IATA编码
app.get('/api/vacations/:iata', getWhereToApi);

app.listen(port, function() {
    console.log(`Express started in ${app.get('env')} ` +
      `mode on http://127.0.0.1:${port}` +
      `; press Ctrl-C to terminate.`)});

2. 修改handlers.js的处理函数

Express 的路由处理函数默认只有三个参数 req、res、next,你需要从req.params里取到刚才定义的iata参数,同时可以增加简单的不存在判断,避免返回空值,修改后代码如下:

var whereTo = {
    "GRU": {
        "destinations": ["MAD", "LAX", "MEX"],
    },
    "LAX": {
        "destinations": ["NYC", "GRU", "MEX"],
    },
    "NYC": {
        "destinations": ["LAX"],
    },
}

export async function getWhereToApi(req, res){
    // 从路径参数中获取IATA编码
    const iata = req.params.iata
    // 先判断是否存在对应IATA的数据,不存在返回404提示
    if (!whereTo[iata]) {
        return res.status(404).json({error: '未找到对应IATA编码的目的地信息'})
    }
    res.json(whereTo[iata]);
}
测试方法

服务启动后,直接在浏览器或者接口请求工具中访问 http://127.0.0.1:3000/api/vacations/GRU,就能拿到你期望的返回结果。如果要查询其他编码,把URL末尾的GRU换成对应的LAX、NYC即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:36:00