[java] 기존 URL에 검색어 매개 변수를 추가하려면 어떻게해야합니까?


Answers

URI 작성에는 도움이되는 라이브러리가 많이 있습니다 (바퀴를 재발 명하지 마십시오). 시작하기 위해 다음 세 가지가 있습니다.

Java EE 7

import javax.ws.rs.core.UriBuilder;
...
return UriBuilder.fromUri(url).queryParam(key, value).build();

org.apache.httpcomponents:httpclient:4.5.2

import org.apache.http.client.utils.URIBuilder;
...
return new URIBuilder(url).addParameter(key, value).build();

org.springframework:spring-web:4.2.5.RELEASE

import org.springframework.web.util.UriComponentsBuilder;
...
return UriComponentsBuilder.fromUriString(url).queryParam(key, value).build().toUri();

GIST> URI 빌더 테스트

Question

키 - 값 쌍을 기존 URL에 쿼리 매개 변수로 추가하고 싶습니다. URL에 질의 부분이나 조각 부분이 있는지 여부를 검사하여 if-clauses를 점프하여 추가를 수행하지만 Apache를 통해이 작업을 수행하는 경우 깨끗한 방법이 있는지 궁금한 점이 있습니다. 커먼즈 라이브러리 또는 이와 동등한 것.

http://example.comhttp://example.com 이됩니다 http://example.com?name=John

http://example.com#fragmenthttp://example.com?name=John#fragment 가됩니다 http://example.com?name=John#fragment

http://example.com?email=john.doe@email.comhttp://example.com?email=john.doe@email.com 이됩니다 http://example.com?email=john.doe@email.com&name=John

http://example.com?email=john.doe@email.com#fragmenthttp://example.com?email=john.doe@email.com#fragment 가됩니다 http://example.com?email=john.doe@email.com&name=John#fragment

전에이 시나리오를 여러 번 실행했고 URL을 깨지 않고이 작업을하고 싶습니다.




Links



Tags

java java   url