Đây là một URI tuyệt đối của máy chủ:Làm thế nào để "hợp nhất" hai URI trong Java?
URI base = new URI("http://localhost/root?a=1");
Đây là một URI tương đối:
URI rel = new URI("/child?b=5");
Bây giờ tôi đang cố gắng để áp dụng tương đối một đến tuyệt đối và nhận:
URI combined = base + rel; // somehow
assert combined.equals(new URI("http://localhost/root/child?a=1&b=5"));
Có thể thực hiện thao tác như vậy với JDK hoặc một số thư viện không?
Tôi mong đợi kết quả là 'http: // localhost/child? B = 5', vì đường dẫn tương đối bắt đầu bằng dấu gạch chéo tương đối với máy chủ (và ngay cả khi dấu gạch chéo không có, bit "root" sẽ được thay thế cũng như chuỗi truy vấn). –
@SimonRichter có ý nghĩa, tôi sẵn sàng xóa dấu gạch chéo, chỉ cần cho tôi biết cách hoàn thành việc hợp nhất :) – yegor256
Điều gì sẽ xảy ra trong trường hợp xung đột tham số, ví dụ: 'root? a = 1' và' child? a = 5'? 'a = 1' hoặc' a = 5'? – home