如何使用 fastify 发送多个 URL 参数?

How to use fastify to send multiple URL parameters?

我已经使用 fastify 声明了如下路由:

const apiService = require('./apiService');

try {
    server.get('/api/status/*', apiService);
} catch (err) {
    console.log(err);
    process.exit(1);
}

我的api服务定义如下:

async function entryFunc(request, response) {
    try {
        console.log("Params are ");
        console.log(request.params);
    } catch (err) {
        console.log(err);
    }
}

我在调用 api 时得到以下输出 http://localhost:3002/api/status/1/2:

Params are:
{ '*': '1/2' }

url 可以有 infinite number of parth params,这就是为什么我在我的路线中使用 wildcard

我想修改 entryFunc(request, response) 以便将值 12 存储在一个数组中,当我打印 array[0] 时,我应该得到值 1

Fasify 使用 find-my-way 作为路由器并支持所有功能。

如果你总是有 2 个路径参数,你应该将你的路由定义为:

server.get('/api/status/:one/:two', apiService);

然后你的 params 会像:

// /api/status/hello/world
{
  "one": "hello",
  "two": "world"
}

您可以通过 Object.values(request.params) // ["hello", "world"]request.params['*'].split('/')

简单地转换为数组