第18章 RESTEasy Atom のサポート


Atom は フィード と呼ばれる関連情報の一覧をコンパイルする XML ベースの書式です。 フィードは エントリ と呼ばれる複数の項目によって構成され、 各エントリには拡張可能なメタデータセット (タイトルなど) が含まれます。
Atom は主に Web コンテンツ (ウェブブログやニュースの見出しなど) を Web サイトにシンジケート化し、 直接ユーザーエージェントへシンジケート化します。
Atom は次世代の RSS フィードです。 主にウェブブログやニュースのシンジケート化に使用されますが、 フォーマットが分散通知やジョブキューなど Web サービスのエンベロープとして使用されたり、サービスへバルクデータを送受信するために使用されつつあります。

18.1. RESTEasy Atom API とプロバイダ

RESTEasy は簡単なオブジェクトモデルを定義して Java で Atom を示し、 JAXB を使用してマーシャリングおよびアンマーシャリングを行います。 org.jboss.resteasy.plugins.providers.atom パッケージに主なクラスである FeedEntryContentLink が含まれています。 各クラスは JAXB アノテーションが付けられます。 ディストリビューションにはモデルを理解するのに大変便利な本プロジェクトの JavaDocs も含まれています。 以下のコードは、 RESTEasy API で Atom フィードを送信する簡単な例です。
import org.jboss.resteasy.plugins.providers.atom.Content;
import org.jboss.resteasy.plugins.providers.atom.Entry;
import org.jboss.resteasy.plugins.providers.atom.Feed;
import org.jboss.resteasy.plugins.providers.atom.Link;
import org.jboss.resteasy.plugins.providers.atom.Person;

@Path("atom")
public class MyAtomService
{

   @GET
   @Path("feed")
   @Produces("application/atom+xml")
   public Feed getFeed() throws URISyntaxException
   {
      Feed feed = new Feed();
      feed.setId(new URI("http://example.com/42"));
      feed.setTitle("My Feed");
      feed.setUpdated(new Date());
      Link link = new Link();
      link.setHref(new URI("http://localhost"));
      link.setRel("edit");
      feed.getLinks().add(link);
      feed.getAuthors().add(new Person("Bill Burke"));
      Entry entry = new Entry();
      entry.setTitle("Hello World");
      Content content = new Content();
      content.setType(MediaType.TEXT_HTML_TYPE);
      content.setText("Nothing much");
      entry.setContent(content);
      feed.getEntries().add(entry);
      return feed;
   }
}
Copy to Clipboard Toggle word wrap
RESTEasy の Atom プロバイダは JAXB ベースであるため、 Atom オブジェクトの XML による送信のみに限定されません。 RESTEasy の別の JAXB プロバイダ (JSON や FastinfoSet) は自動的に再使用することができます。 必要なのは、 メインのサブタイプである @Produces("application/atom+json")@Consumes("application/atom+fastinfoset") の前に +atom を追加することのみです 。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る