Node.js如何在请求体中同时传递日期与分页参数
Node.js 环境下携带分页与日期范围参数请求接口实现
你调用的接口地址为 {{test}}/users/getDashboardDetails,只需要将分页参数、日期范围参数按照接口要求的层级组装到同一个请求体对象中,发起POST请求时传入该对象即可完成传参。
正确的请求体结构
按照你给出的参数定义,无特殊嵌套要求时,完整请求体结构如下:
{ "pagination": { "page": 1, "limit": 10 }, "start": "7/7/2022", "end": "7/9/2022" }
如果后端要求日期范围参数包裹在指定字段(如dateRange)下,对应调整字段层级即可。
代码实现示例
基于axios(Node.js生态常用请求库)
首先安装依赖:
npm install axios
请求代码:
const axios = require('axios'); // 组装完整请求参数 const reqBody = { pagination: { page: 1, limit: 10 }, start: "7/7/2022", end: "7/9/2022" }; async function fetchDashboardData() { const { data } = await axios.post( '{{test}}/users/getDashboardDetails', reqBody, { headers: { 'Content-Type': 'application/json' } } ); return data; } // 调用方法 fetchDashboardData().then(res => { console.log('接口返回数据:', res); }).catch(err => { console.error('请求异常:', err); });
基于Node.js 18+ 原生fetch
Node.js 18及以上版本内置了fetch API,无需额外安装依赖即可发起请求:
async function fetchDashboardData() { const reqBody = { pagination: { page: 1, limit: 10 }, start: "7/7/2022", end: "7/9/2022" }; const res = await fetch('{{test}}/users/getDashboardDetails', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(reqBody) }); if (!res.ok) throw new Error(`请求失败,状态码:${res.status}`); return res.json(); }
注意事项:传参前务必和后端接口文档确认日期字段的层级要求,不要随意嵌套或转换字段格式,避免后端无法识别参数。
内容的提问来源于stack exchange,提问作者Rajani
相关产品推荐
相关产品推荐

