第2章 Jakarta RESTful Web Services Web サービスの開発


Jakarta RESTful Web Services は RESTful Web サービスの Jakarta EE API です。アノテーションと REST (Representational State Transfer) を使用して Web サービスを構築するためのサポートを提供します。これらのアノテーションは、Java オブジェクトを Web リソースにマッピングするプロセスを簡素化します。

RESTEasy は Jakarta RESTful Web Services の Red Hat JBoss Enterprise Application Platform 7 実装です。JBoss EAP 7.3 以降は、Jakarta Enterprise Web Services 1.4 および Jakarta RESTful Web Services 2.1 Jakarta EE 仕様に準拠しています。また、仕様に追加機能も提供します。

Jakarta RESTful Web Services を初めて使用する場合は、Red Hat JBoss Enterprise Application Platform 7 に同梱される helloworld-rsjaxrs-client、および kitchensink クイックスタートを参照してください。

注記

JBoss EAP は resteasy-cryptoresteasy-yaml-provider、および jose-jwt モジュールをサポートしません。

2.1. Jakarta RESTful Web Services アプリケーション

プロバイダーと Web リソースを作成する際に、それらを宣言するには以下のオプションを使用できます。

  • web.xml ファイルなしで javax.ws.rs.core.Application の簡単なサブクラス。
  • web.xml ファイルの使用。
  • Javax.ws.rs.core.Application のサブクラス化とカスタム実装の提供。

2.1.1. javax.ws.rs.core.Application の単純なサブクラス化

javax.ws.rs.core.Application クラスを使用して、これらのプロバイダーと Web リソースを宣言するサブクラスを作成できます。このクラスは、JBoss EAP に含まれる RESTEasy ライブラリーによって提供されます。

javax.ws.rs.core.Application を使用してリソースまたはプロバイダーを設定するには、拡張するクラスを作成して @ApplicationPath アノテーションを追加します。

例: アプリケーションクラス

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/root-path")
public class MyApplication extends Application
{
}

2.1.2. web.xml の使用

または、javax.ws.rs.core.Application を拡張するクラスを作成しない場合は、web.xml ファイルに以下を追加します。

例: web.xml

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <servlet>
      <servlet-name>javax.ws.rs.core.Application</servlet-name>
  </servlet>
  <servlet-mapping>
      <servlet-name>javax.ws.rs.core.Application</servlet-name>
      <url-pattern>/root-path/*</url-pattern>
  </servlet-mapping>
  ...
</web-app>

2.1.3. カスタム実装による javax.ws.rs.core.Application のサブクラス化

javax.ws.rs.core.Application をサブクラス化する場合、既存のメソッドのいずれかにカスタム実装を提供するよう選択できます。getClasses および getSingletons メソッドは、公開された Jakarta RESTful Web Services アプリケーションに含める必要があるクラスまたはシングルトンのコレクションを返します。

  • getClasses および getSingletons のいずれかが空でないコレクションを返す場合、これらのクラスとシングルトンのみが Jakarta RESTful Web Services アプリケーションで公開されます。
  • getClassesgetSingletons両方が空のコレクションを返す場合、Web アプリケーションにパッケージ化されたすべてのルートリソースクラスおよびプロバイダーが Jakarta RESTful Web Services アプリケーションに含まれます。その後、RESTEasy はこれらのリソースを自動的に検出します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る