はじめに
こんにちは、新卒2年目の岡崎です。今回は、JavaでURIを作る方法について紹介します。
前提
openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Corretto-21.0.2.13.1 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.2.13.1 (build 21.0.2+13-LTS, mixed mode, sharing)
- Spring Boot
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.1)
実装
色々な方法があると思いますが、今回はUriComponentsBuilderを使って実装する方法を紹介します。
UriComponentsBuilderは、Spring Bootで用意されているコンポーネントです。これにより、文字列結合をしなくても、URIを作ることができます。
final String uri = UriComponentsBuilder .fromUriString("http://localhost:8080/test") .queryParam("service", service) .fragment("test1") .encode() .build() .toUriString();
作られるURI
http://localhost:8080/test?service=service#test1
fromUriString
fromUriString(”パス名”)
で、URIのパスを指定することができます。
queryParam
ここでは、クエリーパラメーターを指定することができます。queryParam(”パラメーター名”, パラメーター)
と実装します。
例えば、
.fromUriString("http://localhost:8080/test") .queryParam("service", "DEMO")
と実装した場合、http://localhost:8080/test?service=DEMO
というURIが作られます。
fragment
URIのフラグメントを指定することができます。fragment(文字列)
と実装することで、指定した文字列のフラグメントが作られます。
例えば、
.fromUriString("http://localhost:8080/test") .queryParam("service", "DEMO") .fragment("demo1")
と実装した場合、http://localhost:8080/test?service=DEMO#demo1
というURIが作られます。
最後に
最後に、エキサイトではデザイナー、フロントエンジニア、バックエンドエンジニア、アプリエンジニアを絶賛募集しております!
興味があればぜひぜひ連絡ください!