diff --git a/src/helpers/dynamicURL.ts b/src/helpers/dynamicURL.ts index 19f7996..26f43e7 100644 --- a/src/helpers/dynamicURL.ts +++ b/src/helpers/dynamicURL.ts @@ -1,4 +1,4 @@ -const dynamicRE = /:([^/]+)/g; +const dynamicRE = /\/:([^/]+)/g; export function dynamicURL(url: string, data: AnyObject = {}): string { - return url.replace(dynamicRE, (_, $2) => data[$2]); + return url.replace(dynamicRE, (_, $2) => `/${data[$2]}`); } diff --git a/test/helpers/dynamicURL.test.ts b/test/helpers/dynamicURL.test.ts index 88b4373..6d741df 100644 --- a/test/helpers/dynamicURL.test.ts +++ b/test/helpers/dynamicURL.test.ts @@ -19,4 +19,17 @@ describe('src/helpers/dynamicURL.ts', () => { }), ).toBe('http://api.com/tests/name/axios/type/0/list'); }); + + test('应该忽略端口号', () => { + expect( + dynamicURL(':8080/:id', { + id: 0, + }), + ).toBe(':8080/0'); + expect( + dynamicURL('http://api.com:8080/:id', { + id: 0, + }), + ).toBe('http://api.com:8080/0'); + }); });