這是服務器的絕對URI:如何在Java中「合併」兩個URI?
URI base = new URI("http://localhost/root?a=1");
這是一個相對的URI:
URI rel = new URI("/child?b=5");
現在我試圖相對一個適用於絕對和接收:
URI combined = base + rel; // somehow
assert combined.equals(new URI("http://localhost/root/child?a=1&b=5"));
是否可以使用JDK或某個庫進行這樣的操作?
我期望結果是'http:// localhost/child?b = 5',因爲以斜槓開頭的相對路徑是相對於主機的(即使斜槓不在那裏, 「根」位將被替換以及查詢字符串)。 –
@SimonRichter是有道理的,我準備好刪除斜線,只是讓我知道如何完成合並:) – yegor256
在參數衝突的情況下會發生什麼,例如, 'root?a = 1'和'child?a = 5'? 'a = 1'或'a = 5'? – home