繁体   English   中英

如何使用 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时关注 output :

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('/')转换为数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM