diff --git a/packages/inula-request/CHANGELOG.md b/packages/inula-request/CHANGELOG.md new file mode 100644 index 00000000..2cad0292 --- /dev/null +++ b/packages/inula-request/CHANGELOG.md @@ -0,0 +1,21 @@ +# 0.0.10 版本 + +## 新特性 + +- 新增了支持过滤请求参数中传入值为 null 时自动过滤的能力 + +## API变更 + +无 + +## Bug修复 + +- 优化了传入 params 参数为空对象时拼接 url 后携带 ? 的问题 +- +## CVE漏洞修复 + +无 + +## 已知问题 + +无 diff --git a/packages/inula-request/examples/server/serverTest.mjs b/packages/inula-request/examples/server/serverTest.mjs index 07366348..0797709a 100644 --- a/packages/inula-request/examples/server/serverTest.mjs +++ b/packages/inula-request/examples/server/serverTest.mjs @@ -17,7 +17,7 @@ import express from "express"; import * as fs from "fs"; import bodyParser from "body-parser"; import cors from "cors"; -import path from "path"; +import * as path from "path"; const app = express(); const port = 3001; @@ -53,7 +53,7 @@ app.get('/data', (req, res) => { }); app.get('/download', (req, res) => { - const filePath = path.resolve('./examples/request/downloadTest.html'); + const filePath = path.resolve(__dirname, '../request/downloadTest.html'); const fileName = 'downloadTest.html'; const fileSize = fs.statSync(filePath).size; diff --git a/packages/inula-request/package.json b/packages/inula-request/package.json index beac309b..239aba1c 100644 --- a/packages/inula-request/package.json +++ b/packages/inula-request/package.json @@ -12,7 +12,8 @@ }, "files": [ "/dist", - "README.md" + "README.md", + "CHANGELOG.md" ], "types": "./dist/index.d.ts", "repository": { diff --git a/packages/inula-request/src/request/fetchRequest.ts b/packages/inula-request/src/request/fetchRequest.ts index 18b9ce75..5f25e803 100644 --- a/packages/inula-request/src/request/fetchRequest.ts +++ b/packages/inula-request/src/request/fetchRequest.ts @@ -62,7 +62,9 @@ export const fetchRequest = (config: IrRequestConfig): Promise => { // 处理请求参数 if (params) { const queryString = utils.objectToQueryString(utils.filterUndefinedValues(params)); - url = `${url}${url!.includes('?') ? '&' : '?'}${queryString}`; // 支持用户将部分请求参数写在 url 中 + if (queryString) { + url = `${url}${url!.includes('?') ? '&' : '?'}${queryString}`; // 支持用户将部分请求参数写在 url 中 + } } // GET HEAD 方法不允许设置 body diff --git a/packages/inula-request/src/utils/commonUtils/utils.ts b/packages/inula-request/src/utils/commonUtils/utils.ts index 4155164a..d96ce0fc 100644 --- a/packages/inula-request/src/utils/commonUtils/utils.ts +++ b/packages/inula-request/src/utils/commonUtils/utils.ts @@ -430,7 +430,7 @@ function getObjectByArray(arr: any[]): Record { function filterUndefinedValues(obj: Record) { return Object.keys(obj).reduce((result, key) => { - if (obj[key] !== undefined) { + if (obj[key] !== undefined && obj[key] !== null) { result[key] = obj[key]; } return result;