使用JavaScript URL,我如何在现有URL实例的子目录上添加额外的路径?
目标是构建一个URL以生成这个:
我可以通过连接字符串成功地构建URL之外的子目录。
然而,如果我尝试基于URL实例进行构建,它会修改初始的子目录。
有什么建议吗?
目标是构建一个URL以生成这个:
https://api.foo.com/crm/v3/objects/companies/12345
我可以通过连接字符串成功地构建URL之外的子目录。
const objectType = 'companies'
let subDirectory = `/crm/v3/objects/${objectType}`;
// '/crm/v3/objects/companies'
const objectId = '12345';
subDirectory = `${subDirectory}/${objectId}`;
// '/crm/v3/objects/companies/12345'
const urlRequest = new URL(subDirectory, 'https://api.foo.com');
// 'https://api.foo.com/crm/v3/objects/companies/12345'
然而,如果我尝试基于URL实例进行构建,它会修改初始的子目录。
const objectType = 'companies';
const subDirectory = `/crm/v3/objects/${objectType}`;
let urlRequest = new URL(subDirectory, 'https://api.foo.com');
// https://api.foo.com/crm/v3/objects/companies
const objectId = '12345';
urlRequest = new URL(objectId, urlRequest.toString());
// 'https://api.foo.com/crm/v3/objects/12345'
// Replaces '.../companies' with '.../12345'
// Not appends to existing subDirectory
// '.../companies/12345'
有什么建议吗?