我正在使用构造函数:
公共Uri(Uri baseUri,字符串relativeUri)
将相对路径附加到初始Uri。 通常,一切正常,并添加了所需的路径,但是在某些情况下,最终路径为REPLACED。
例如,使用以下代码:
new Uri(new Uri("http://localhost:3000/app/api/publicapi/NAS_0x5d65d971895edc438f465c17db6992698a52318d"), "Blocks")
我希望得到这个结果:
http://localhost:3000/app/api/publicapi/NAS_0x5d65d971895edc438f465c17db6992698a52318d/Blocks
但是我得到了
http://192.168.26.50:3000/app/api/publicapi/Blocks
这是怎么了?
答案 0 :(得分:2)
缺少最后的斜杠,因此将NAS_0x5d65d971895edc438f465c17db6992698a52318d
视为资源而不是路径:
var existingUri =
new Uri("http://localhost:3000/app/api/publicapi/NAS_0x5d65d971895edc438f465c17db6992698a52318d/");
new Uri(existingUri, "Blocks");
// returns: http://localhost:3000/app/api/publicapi/NAS_0x5d65d971895edc438f465c17db6992698a52318d/Blocks
来自docs:
如果baseUri具有相对部分(如/ api),则相对部分 如果的相对部分必须以斜杠(例如/ api /)结尾 baseUri将保留在构造的Uri中。