JavaでURIを作る方法

はじめに

こんにちは、新卒2年目の岡崎です。今回は、JavaURIを作る方法について紹介します。

前提

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が作られます。

最後に

今回は、JavaURIを作る方法について紹介しました。

最後に、エキサイトではデザイナー、フロントエンジニア、バックエンドエンジニア、アプリエンジニアを絶賛募集しております!

興味があればぜひぜひ連絡ください!

www.wantedly.com