java.net.URI rozwiązuje tylko łańcuch zapytania
Próbuję zbudować URI używając JDKjava.net.URI.
Chcę dołączyć do bezwzględnego obiektu URI, zapytania (w String). W przykładzie:
<code>URI base = new URI("http://example.com/something/more/long"); String queryString = "query=http://local:282/rand&action=aaaa"; URI query = new URI(null, null, null, queryString, null); URI result = base.resolve(query); </code>
Teoria (lub co myślę) jest taka, że postanowienie powinno powrócić:
<code>http://example.com/something/more/long?query=http://local:282/rand&action=aaaa </code>
Ale mam to:
<code> http://example.com/something/more/?query=http://local:282/rand&action=aaaa </code>
Czemu#rozwiązać() „zjada” ostatnią ścieżkę? Jeśli nowy URI (query
) jest zbudowany jako:
<code>URI query = new URI(null, null, base.getPath(), queryString, null); </code>
To dobrze działa.