カテゴリ: Quarkus 更新日: 2026/01/28

Quarkus REST APIでリクエストパラメータを扱う方法を完全解説!初心者でも理解できる入門ガイド

Quarkus RESTでリクエストパラメータを扱う方法
Quarkus RESTでリクエストパラメータを扱う方法

先生と生徒の会話形式で理解しよう

生徒

「QuarkusでREST APIを作っているんですが、URLに付けるパラメータの受け取り方がよく分かりません…」

先生

「QuarkusのREST機能では、リクエストパラメータをとても簡単に扱えます。アノテーションを使うのがポイントですよ。」

生徒

「GETリクエストの?name=xxxみたいなやつですよね?」

先生

「その通りです。では、Quarkus REST APIでの基本から順番に見ていきましょう。」

1. Quarkus REST APIとリクエストパラメータの基本

1. Quarkus REST APIとリクエストパラメータの基本
1. Quarkus REST APIとリクエストパラメータの基本

QuarkusはJava向けの軽量フレームワークで、REST APIの開発がとてもシンプルに行えることが特徴です。 Webアプリケーションやバックエンド開発では、クライアントから値を受け取る場面が頻繁にあります。 その代表例がリクエストパラメータです。

リクエストパラメータとは、URLの末尾に付けてサーバーへ送信する情報のことです。 例えば検索条件やページ番号、ユーザー名など、比較的簡単な値を送る用途でよく使われます。 Quarkus RESTでは、JAX-RSの仕組みを利用して直感的に受け取れます。

2. クエリパラメータの受け取り方

2. クエリパラメータの受け取り方
2. クエリパラメータの受け取り方

最もよく使われるのがクエリパラメータです。 クエリパラメータは、URLの「?」以降に指定します。 Quarkusでは、アノテーションを使ってメソッドの引数として簡単に受け取れます。


import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;

@Path("/hello")
public class HelloResource {

    @GET
    public String hello(@QueryParam("name") String name) {
        return "こんにちは、" + name + "さん";
    }
}

この例では、URLに指定されたnameという値を受け取り、そのままレスポンスとして返しています。 ブラウザでアクセスすると、動作が分かりやすく確認できます。


http://localhost:8080/hello?name=Quarkus

3. 複数のリクエストパラメータを扱う方法

3. 複数のリクエストパラメータを扱う方法
3. 複数のリクエストパラメータを扱う方法

実際の開発では、ひとつだけでなく複数のリクエストパラメータを扱うことがほとんどです。 Quarkus REST APIでは、引数を増やすだけで簡単に対応できます。 特別な設定は不要なので、初心者でも安心です。


import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;

@Path("/calc")
public class CalcResource {

    @GET
    public String calc(@QueryParam("a") int a, @QueryParam("b") int b) {
        int result = a + b;
        return "計算結果は " + result + " です";
    }
}

上記のように数値も自動的に変換されます。 URLで指定した値を使って簡単な計算処理を行うことができます。


http://localhost:8080/calc?a=3&b=5

4. リクエストパラメータが存在しない場合の考え方

4. リクエストパラメータが存在しない場合の考え方
4. リクエストパラメータが存在しない場合の考え方

リクエストパラメータは必ず送られてくるとは限りません。 そのため、値が指定されなかった場合の挙動も理解しておく必要があります。 Quarkusでは、指定がなければnullやデフォルト値として扱われます。


import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;

@Path("/greet")
public class GreetResource {

    @GET
    public String greet(@QueryParam("name") String name) {
        if (name == null) {
            return "名前が指定されていません";
        }
        return "ようこそ、" + name + "さん";
    }
}

初心者のうちは、まずはnullチェックを行う方法を覚えておくと安心です。 後々、より便利な方法も学習できますが、基礎をしっかり押さえることが大切です。

5. パスパラメータとの違いを理解する

5. パスパラメータとの違いを理解する
5. パスパラメータとの違いを理解する

Quarkus REST APIでは、リクエストパラメータ以外にもパスパラメータがあります。 これはURLの一部として値を埋め込む方法です。 役割の違いを理解すると、API設計が分かりやすくなります。


import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;

@Path("/user")
public class UserResource {

    @GET
    @Path("/{id}")
    public String getUser(@PathParam("id") int id) {
        return "ユーザーIDは " + id + " です";
    }
}

検索条件やオプションにはリクエストパラメータ、 識別子にはパスパラメータという使い分けを意識すると、REST APIが整理されます。

6. 初心者がつまずきやすいポイント

6. 初心者がつまずきやすいポイント
6. 初心者がつまずきやすいポイント

Quarkus RESTでリクエストパラメータを扱う際、初心者が混乱しやすい点はいくつかあります。 アノテーションの書き忘れや、URLの指定ミスが代表的です。 また、型変換エラーによる例外もよく見かけます。

まずは文字列として受け取り、動作を確認することがおすすめです。 その後、数値や真偽値へと少しずつ広げていくと理解しやすくなります。 Quarkusは開発モードが強力なので、エラー内容を確認しながら進めると学習効率が高まります。

7. Quarkus REST APIで学ぶリクエストパラメータの重要性

7. Quarkus REST APIで学ぶリクエストパラメータの重要性
7. Quarkus REST APIで学ぶリクエストパラメータの重要性

リクエストパラメータは、REST API開発の基礎中の基礎です。 Quarkusを使うことで、Java初心者でも短いコードで実装できます。 これはマイクロサービス開発や業務システム構築において、大きな強みになります。

Quarkus REST APIに慣れてくると、URL設計やパラメータ設計の重要性が見えてきます。 今回学んだ内容を土台として、実際に手を動かしながら理解を深めていくことが大切です。

カテゴリの一覧へ
新着記事
New1
Micronaut
Micronautの@Factoryとは?複雑なBean生成を管理するための方法を解説
New2
Quarkus
QuarkusのDIとCDIを完全理解!@Producesでプロデューサーメソッドを使う方法を初心者向けに解説
New3
Java
JavaのStringBufferクラスを徹底解説!スレッド安全な文字列操作の仕組みと使い分け
New4
Micronaut
Micronautで非同期HTTP処理を行う方法!リアクティブ対応の基礎知識
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkus入門!GitHub ActionsでCI/CDパイプラインを構築して自動ビルドを実現する方法
No.2
Java&Spring記事人気No2
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.3
Java&Spring記事人気No3
Micronaut
Micronautのルーティング設定ガイド!プレフィックス付与とAPIバージョニングの基本
No.4
Java&Spring記事人気No4
Quarkus
QuarkusのCI/CD入門!GitHub Actionsで自動デプロイを実現する方法
No.5
Java&Spring記事人気No5
Micronaut
Micronautのフィルタ徹底解説!HTTPリクエスト共通処理をスマートに追加する方法
No.6
Java&Spring記事人気No6
Java
Java Optional ifPresentの使い方を徹底解説!nullチェックをスマートに省略する方法
No.7
Java&Spring記事人気No7
Java
Java Functionインタフェースの使い方を完全ガイド!map変換と処理チェーンを理解する
No.8
Java&Spring記事人気No8
Java
JavaのString比較を徹底解説!equalsと==の違い、初心者が陥る罠とは?